Pour cette raison, des familles du monde entier construisent des arbres de Noël.
Mais cet arbre normal peut devenir ennuyeux après un certain temps, alors faisons un arbre ASCII!
Les feuilles sont représentées par #
et doivent être organisées comme indiqué dans l'exemple de sortie. Nous avons 5 boules ( O
) et 5 cannes de bonbon ( J
), que nous plaçons au hasard autour de l'arbre. Nous avons également une bougie sur le dessus.
Entrée: aucune
Production:
^
|
###
##O##
#######
#####
####J##
#########
####O######
#############
###J###
#########
####O###J##
#######O#####
###J########O##
###########J#####
###
###
Règles (si ce n'est pas dans les règles, supposez que vous le pouvez)
Les boules et les cannes de bonbon doivent être placées au hasard sur l'arbre et doivent avoir au moins une feuille entre elles, sans compter les diagonales.
Chaque feuille doit avoir une chance non nulle d'obtenir une balle ou une canne en bonbon.
Il peut y avoir des espaces de début ou de fin sur chaque ligne, tant que l'arbre a la forme appropriée.
C'est le code-golf , donc le code le plus court en caractères gagne.
Réponses:
JavaScript (ES6), 148 octets
Espérons que cela devrait respecter la condition «assez aléatoire».
Démo
Afficher l'extrait de code
la source
j=new Date
parj=0
toj=12
.)CS-Script - 306 octets
Encore une fois avec mise en forme et commentaires:
C'est essentiellement C #, mais l'utilisation de CS-Script me permet de sauter toute la plaque chauffante.
Essayez-le ici!
Remarques:
Cela génère actuellement une autre ligne d'espaces blancs sous l'arborescence pour vous assurer que la «vérification des ornements existants ci-dessous» ne lève pas une exception IndexOutOfBoundsException. D'autres solutions seraient:
Je laisse le soin au PO si cela devait être changé.
Enfin, c'est mon premier golf, donc tout commentaire est apprécié. ;)
la source
using System;
dans votre nombre d'octets, car vous ne pouvez pas l'utiliserRandom
ouConsole
sans. meta.codegolf.stackexchange.com/questions/10081/… Désolé d'ajouter 13 octets :(using System;
n'est pas nécessaire (il importe automatiquement les espaces de noms communs). Mais peut-être que je divise les cheveux. ¯_ (ツ) _ / ¯_=>{var c=... return c;}
TSQL,
556532494476 octetsCe script doit être exécuté sur la base de données master
Golfé:
Non golfé:
Essaye le
la source
Python 3 -
450427 octetsJe sais que
450
c'est trop pour python. Mais mais.....Si le
for i in'O'*...
est transformé en une meilleure fonction récursive, de nombreux octets peuvent être réduits.Essayez-le ici
Éditer :
Enregistré 2 octets en utilisant
;
comme délimiteur et plusieurs octets en prenant le nombre d'octets de nouvelle ligne comme 1 octet.la source
JavaScript, 204 octets
la source
\n
comme 1 octet?PHP, 200 octets
pourrait être plus courte avec une approche plus sophistiquée; mais je suis pressé.
nécessite PHP 5.6 ou 7.0. Courez avec
-nr
ou essayez-le en ligne .la source
Scala, 329 octets
la source