Déclaration
Vous obtenez une image d'une série de boules tombant dans une grille 2D. Cette grille est entourée de murs immuables et incassables afin que toute l'action soit contenue à l'intérieur. Votre tâche consiste à déterminer quel sera l'état du scénario une fois que la gravité aura fait tout son travail.
Éléments à l'intérieur de la grille
-
Le sol ne change pas la direction des balles qui tombent.\
Glisser à droite, modifie la trajectoire de la balle une (1) position à droite./
Glissière gauche, modifie la trajectoire de la balle une (1) position gauche.o
Un ballon.
Règles
- Les balles tombent.
- Les sols et les toboggans ne tombent pas .
- Si la balle heurte une glissière qui la ferait traverser un mur (
\#
ou#/
) ou traverserait un sol, la glissière agirait comme un sol. - Quand une balle frappe une autre balle, elle deviendra une balle mais augmentera sa puissance jusqu'à la somme des deux balles.
- Les nouvelles balles (jointes) continueront à se comporter comme d'habitude.
- Quand une balle ne peut plus bouger, elle est remplacée par sa puissance.
- La puissance d'une balle sera toujours au maximum de 9.
Contribution
La grille sera donnée dans une variable chaîne avec le nom le plus court dans la langue de votre choix. Par défaut nous utiliserons a
comme entrée. Un échantillon d'une entrée, exactement telle que reçue:
##########\n# \ #\n#o #\n# - -\o #\n#/- \ #\n# \oo-/\#\n#-/ \ /#\n# \ \ #\n# /#\n##########
Pour les grilles aléatoires générées, utilisez https://repl.it/B1j3/2 . Utilisez ma page générée à la place (pas de publicité, pas de merde, juste l'entrée et la sortie)
Remarquez les sauts de ligne \n
. Imprimer l'entrée à l'écran (non requis pour le défi) montrerait des choses comme ça. Bien que j'ai mis quatre énigmes à côté de l'espace sécurisé.
########## ########## ########## ##########
# \ # # o -/# # o# #-o / #
#o # # \ # # o -# #-- \ /\ #
# - -\o # #- \ # # - \o# # - -- o-#
#/- \ # # # #o /\ # #/ \ #
# \oo-/\# #o -o- # # / -o# #/ /o oo/#
#-/ \ /# # -/- # # - o -# #o/ #
# \ \ # # \\ # # \o /# #o-o o#
# /# # \o\ /\# # \o # # -\o o /#
########## ########## ########## ##########
Sortie
La même grille, imprimée à l'écran avec le résultat final de la puissance de la balle. Une réponse valide serait un (1) des énigmes suivants, chacun correspondant à l’entrée à la même position. Bien entendu, si l’entrée est différente, vous devez ajuster la sortie. Pas le limiter à ces quatre!
########## ########## ########## ##########
# \ # # -/# # 1# #-1 / #
# # # \ # # -# #-- \ /\ #
#1 - -\ # #- \ # # - \ # # - -- -#
#/- \1# # # # /\ # #/ \ #
# \ -/\# # -1- # # / -2# #/ / /#
#-/ \ /# # -/- # # - -# # / #
# \ \ # # \\ # # \ /# # - #
# 2 /# #1\2\ /\# #2 2\1 # #2-\3 23/#
########## ########## ########## ##########
But
Les langues se feront concurrence, alors n'hésitez pas à utiliser des langues non-golf. Pour valider une solution, je dois pouvoir la tester quelque part pour voir si elle fonctionne !.
Le score est le nombre d'octets. En cas d'égalité, la première réponse pour atteindre le score d'égalité l'emporte.
Avertissements
- Si vous n'êtes pas sûr de la réaction d'un ballon, demandez-le-moi et je clarifierai. J'ai été aussi clair que possible, mais je suis sûr que certains cas prêtent à confusion.
- Les diapositives ne sont montées que si vous pouvez les quitter , pensez-y comme une vraie diapositive. Il y a un gars au sommet qui ne vous laisse pas passer à côté du ballon, à moins que le ballon ne sorte par l'autre côté.
Clarifier des exemples de mouvement de balle
###### ######
#-o- # BALL WOULD GO RD #- - #
# \ # # \o #
###### ######
###### ######
#-o- # BALL WOULD STAY #-o- #
# \\ # # \\ #
###### ######
###### ######
# -o# BALL WOULD STAY # -o#
# \# # \#
###### ######
###### ######
# o # BALL WOULD STAY # o #
# \/# # \/#
###### ######
###### ######
#-o- # BALL WOULD GO LD #- - #
# /\ # #o/\ #
###### ######
MISES À JOUR
Comment puis-je tester si ma réponse est valide?
J'ai mis en place une simple page sur l'un de mes sites qui vous donnera une énigme aléatoire et sa réponse. Prenez l’entrée et comparez-la à la sortie. Ma solution, sans trop m'inquiéter du golf, est en python (générateur, et page aussi en python)389b
355b
Classement
la source
Réponses:
JavaScript (ES6), 157
196Éditer caractère par caractère au lieu de ligne par ligne, résultat bien meilleur
Remarque: ne gère pas les valeurs de billes> 9. Mais cela pourrait arriver, avec un coût de 18 octets. Voir le code de base ci-dessous.
Extrait de test (meilleure page complète)
la source
v>9?9:v
?Javascript (ES6),
453426409306290286 octetsLa première et la plus évidente des solutions qui m’est venue à l’esprit est celle qui consiste à regarder autour des diapositives puis à les fusionner ou à les remplacer.
Ungolfed:
Testez comme:
Merci à: @ edc65
la source
b.replace(/o/g,'1').split``
peut être raccourci à[...b.replace(/o/g,1)]
Java,
trop nombreux1102987 octetsParce que, Java.
\ o / il est sous 1000!
Un objectif secondaire était d' être capable d'imprimer chaque itération du conseil d' administration: il suffit de retirer le milieu
;
enwhile(g.i())
;
System.out.print(g.s());
(Bien que cela ne désactive la dernière impression qui a le front 0-> conversion de puissance). Malheureusement, dans cette version, la gravité fonctionne étrangement. À chaque passage, je prends la première balle non collée et la déplace. En court-circuitant,iterate()
il y a moins d'octets que de parcourir l'ensemble du tableau puis de retourner si quelque chose change.Ceci est une classe principale complète, compilée et exécutée sur la ligne de commande avec l'argument suivant:
Version "lisible":
la source
Python3, 355b
Testez ici
la source
PHP,
228 204 197194 octetsdonne des avertissements en PHP 7.1. Insérer
(int)
avant$a[$t]+$c
de réparer.Courez avec
php -nr '$a="<string>";<code>'
ou essayez-le en ligne .panne
la source