Le but est d'écrire un programme (tout sauf le brainfuck explicite) qui imprime la meilleure règle de Barney Stinson :
Nouveau, c'est toujours mieux.
interprété normalement, mais
Legen ... attends ... dary!
Lorsqu'il est traité avec un interprète Brainfuck.
Que le frère le plus populaire gagne. Vous avez 72 heures pour être légendaire.
popularity-contest
polyglot
brainfuck
Thomas Ayoub
la source
la source
code-golf
est le meilleur tag pour ce défi. À mon humble avis, cepopularity-contest
serait mieux.Réponses:
C #
J'ai donc décidé de devenir un peu plus ... créatif avec mon entrée. Le code Brainfuck est intégré dans le C # en tant que divers opérateurs (pas dans les commentaires ou dans les chaînes codées en dur), tandis que le code C # lui-même fonctionne sur un principe similaire à la façon dont Brainfuck imprime les caractères (ce qui signifie qu'il n'y a pas de chaînes codées en dur et C # génère chacun caractère individuel sous forme d'entier, puis le convertit en caractère lors de l'impression).
Je suis sûr que j'aurais pu rendre cela plus élégant, mais cela m'a pris assez de temps pour terminer tel quel.
Tout a été testé sur cet interpréteur JavaScript Brainfuck par Cal Henderson et avec le compilateur C # de Visual Studo 2012 (ciblé sur .NET Framework v4.0).
Voici le code Brainfuck original que j'ai écrit pour ce défi:
Lorsque vous exécutez le code C # via un interpréteur Brainfuck, vous vous retrouvez avec les commandes suivantes (notez l'ajout des crochets au début, ceux-ci proviennent de la déclaration de tableau et ne font rien, car la cellule sous le pointeur de mémoire dans le tableau sera déjà 0):
la source
Smalltalk
tapez dans un espace de travail et appuyez sur "doIt", ou envoyez-le à BF. BF volé sur les autres affiches - merci.
la source
Javascript / Brainfuck
Version non golfée car ce n'est pas un concours de code-golf:
C'était l'occasion pour moi d'apprendre le BF et c'était amusant :)
La difficulté était de ne jamais l' utiliser
,
car BF l'interprète comme entrée utilisateur et de s'assurer que l'octet est 0 avant de l'utiliser[]
pour accéder aux éléments des tableaux.Le codage JS est assez simple,
/
chaque chaîne avant de coder un caractère et chaque longueur de chaîne avant@
définit le code ASCII en décimal. (+++++++@++++[>++@
=78
=N
)Vous pouvez tester Brainfuck ici: http://copy.sh/brainfuck/
la source
Cubiquement ( TIO ) / BF ( TIO )
(Mise à jour le 8/4/17 pour tenir compte des changements de langue dans Cubically)
Fondamentalement, cela utilise autant de caractères du programme BF que possible dans le programme Cubically, puis colle le reste du programme BF à la fin de celui-ci. Aucune interruption forcée avec
&
/E
dans le programme Cubically n'est nécessaire.la source
Python / BrainF ** k, 362 caractères
Code BrainF ** k extrait de la réponse supprimée de Clément Renaud.
Modifier - Le caractère nul initial n'est plus imprimé.
Utilise une astuce très simple - des
|
caractères ont été ajoutés au programme BF, et les distances entre eux codent la chaîne imprimée en Python. Le code Python est principalement ignoré par BF.la source
.join
ajouté un.
, mais je n'ai vu aucun mal (car il\0
est invisible). C'est+
et.split
ça va - j'ai supprimé les caractères de l'original.