Faisons un exercice ensemble, d'accord? Suivez simplement les mouvements du stickman. Quel stickman vous demandez? Celui que nous allons créer!
Créez un programme qui autorise une entrée de chaîne contenant uniquement des entiers et génère les neuf chiffres de bâton suivants avec un intervalle entre les deux:
@ \@/ |@_ _@| @/ \@ |@| \@\ /@/
/|\ | | | | | | | |
/ \ / \ / \ / \ /|\ /|\ / \ / \ / \
1 2 3 4 5 6 7 8 9
Cela se traduira par une animation, que nous pourrons ensuite suivre le long d'irl.
Voici un exemple de la sortie créée lorsque l'entrée est " 123245762
":
Certaines règles:
- Il s'agit du code-golf , donc le code le plus court en octets l'emporte
- L'entrée est un
string
seul contenant[1-9]
d'une longueur pouvant varier de 2 à 100 caractères ** - L'animation doit être une boucle sans fin
- L'intervalle de temps doit être de 750 ms
- Aucun entier adjacent dupliqué n'est autorisé dans l'entrée - cela inclut également le premier et le dernier entier de l'entrée (voir les septième et huit cas de test) **
** La façon dont cela échoue en cas d'entrée invalide dépend entièrement de vous, mais il doit être clair qu'il échoue . Cela pourrait jeter une exception; revenez simplement au début; redémarrez votre PC; supprimer son propre code source / de compilation; pirater l'armée et tirer une fusée vers l'emplacement de compilation GPS. Ton appel. EDIT: Il n'est pas permis d'afficher simplement une animation (correcte / à moitié) comme entrée défaillante. Il doit être clair que quelque chose ne va pas avec l'entrée des tests échoués ci-dessous. Merci à @ user81655 d' avoir porté cela à mon attention, d'où la modification.
Sous-règles:
- Veuillez poster le gif pour l'un des cas de test (non défaillants) ci-dessous dans votre réponse, que vous pouvez rendre très facile avec le programme suivant: screentogif.codeplex.com (Tout autre programme de création de gif est également autorisé bien sûr.)
- Des points bonus si vous faites l'exercice en même temps que l'animation quand il est terminé. ;)
Cas de test corrects:
123245762
65
121234346565879879132418791576
Échec des tests:
2
// Trop peu de caractères7282918274959292747383785189478174826894958127476192947512897571298593912374857471978269591928974518735891891723878
// Trop de caractères1232405762
// Contenant une entrée invalide (le0
)112212
// Échoue à cause du11
et du22
présent1232457621
// Échoue en raison du début et de la fin1
Réponses:
Pyth, 114 octets
Essayez-le ici
(Pas de pause, non infini)
la source
0
.) Quoi qu'il en soit, merci pour l'entrée. Certainement l'un des extraits de code les plus illisibles pour cette entrée est ma supposition. :)SpecBAS - 387 octets
Continue de boucler jusqu'à ce que vous appuyiez sur ESC. Le fait de ne pas s'exercer correctement (saisie incorrecte - dans cet exemple, un 0 comme l'une des étapes) conduit à l'adiposité. Le GIF boucle, dans le programme, il s'arrête juste à ce point.
#13
est l'équivalent de SpecBAS\n
et vous permet d'inclure un saut de ligne dans les chaînes.la source
JavaScript (ES6), 165 octets
la source
JavaScript (ES6), 210 octets
la source
0
et de doublons?How it fails in case of invalid input is completely up to you
. Je gère simplement les entrées invalides en affichant une animation. : P Aucune des autres réponses existantes n'a vérifié cela non plus, mais la réponse que l'OP vient de publier le fait, alors peut-être qu'il voulait que nous gérions les entrées invalides.Mathematica, 252 octets
Ce serait bien si quelqu'un pouvait créer un GIF. Courez dans un cahier.
la source
Python3, 338 octets
la source
Java 8,
663636634631596355354 octetsJuste pour les lols, j'ai essayé de faire le programme en Java.
Certes, je suis assez mauvais au golf et aux regex, donc il peut très probablement être joué au golf (beaucoup?) Plus. Néanmoins, le voici en Java 7.Maintenant presque deux ans plus tard et j'ai presque divisé par deux le code en Java 8. Pourquoi ai-je jamais fait ces règles pour valider l'entrée et exiger un programme complet, cependant ...>.> Je déteste mon passé passé maintenant ..
Explication:
Essayez-le en ligne. (Après expiration du délai après 60 secondes.)
Gif:
(Remarque: ancien gif, car il s'agit clairement de jdk1.8 + maintenant.)
la source
Java 7
faire référence à cette version de Java, car1.7
certains peuvent penser que c'est uneJava 1
révision7
p(new String[]{" @ ",y,"|@_", ... }[c-49]);if(c==49){p(x);l();}else if(c==53){w();p(x);}else d();
. Je pense aussi que définirl
etw
gaspiller des caractères, maintenant qu'ils ne sont utilisés que deux fois. Envisagezs
plutôt de laisser l' êtrechar[] s=a[0].toCharArray()
; toutes les autres opérations avec lui sont donc beaucoup plus courtes.