Comment programmer dans Brainf**K?

Écrasant toute valeur déjà présente
Il prendra le premier caractère et stockera sa valeur ASCII dans le carré actuel, écrasant toute valeur déjà présente.

Brainfuck (communément écrit brainf**k pour éviter de jurer) est un langage de programmation ésotérique. Il n'a que 8 instructions, donc les programmes dans brainf**k ont tendance à être un peu longs. Cependant, chaque instruction est assez facile à comprendre.

Partie 1 sur 3: avant de programmer

  1. 1
    Obtenez un compilateur brainf**k. Vous pouvez utiliser des compilateurs sur Internet si vous ne pouvez pas en télécharger un.
  2. 2
    Obtenez une copie des codes ASCII. Brainf**k convertit les lettres et les symboles en leur valeur ASCII et les stocke sous cette forme. Vous devrez être capable de rechercher les valeurs des lettres pendant que vous programmez.

Partie 2 sur 3: programmation

  1. 1
    Comprenez le fonctionnement de brainf**k. Imaginez un ruban de papier, divisé en carrés. Le ruban fait un carré de large, mais un nombre infini de carrés de long. Dans chaque carré, vous pouvez mettre un numéro. Imaginez maintenant que vous avez un pointeur (par exemple un crayon) qui peut pointer vers UN des carrés. Brainf**k peut déplacer le pointeur d'avant en arrière le long du ruban, modifier la valeur dans le carré vers lequel le pointeur pointe et faire des boucles.
  2. 2
    Comprenez ce que font < et >. Le pointeur pointe vers un carré particulier. < déplace le pointeur sur le carré précédant le carré actuel. > le déplace vers la case d'après.
  3. 3
    Comprendre ce que + et - Faire. + incrémente (ajoute un à) la valeur du carré actuel. - décrémente (soustrait un de) la valeur du carré actuel.
  4. 4
    Comprenez comment brainf**k génère des caractères. Un arrêt complet. est la commande de sortie. Cela lit le nombre dans le carré actuel, puis sort le caractère ASCII correspondant (c'est pourquoi vous avez besoin de la table ASCII).
  5. 5
    Comprendre l'entrée. Une virgule est la commande d'entrée. Cela vous demandera de saisir une chaîne de caractères. Il prendra le premier caractère et stockera sa valeur ASCII dans le carré actuel, écrasant toute valeur déjà présente.
  6. 6
    Comprendre les boucles. [est le caractère de début de boucle. Si le carré sous le pointeur contient un zéro lorsque le programme atteint ce caractère, il passera à l'instruction immédiatement après le] correspondant. Sinon, il passera à l'instruction suivante. Lorsque le programme rencontre un], il revient au [Les boucles peuvent être imbriquées (placées l'une dans l'autre).
  7. 7
    Regardez un exemple de programme. Si vous comprenez les instructions ci-dessus, vous devriez être en mesure de comprendre comment cela fonctionne. Il imprimera Hello World! sur l'écran. +++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]> >.> - -.+++++++..+++.>>.<-.<.+++. - - -. - - - -.>>+.>++.
Donc les programmes dans brainf**k ont tendance à être un peu longs
Il n'a que 8 instructions, donc les programmes dans brainf**k ont tendance à être un peu longs.

Partie 3 sur 3: se familiariser avec les dérivés

  1. 1
    Apprenez à connaître les alternatives. Il existe de nombreux dérivés de brainf**k. Certains d'entre eux ajoutent de nouvelles fonctionnalités. D'autres remplacent simplement les instructions par des mots différents.
    • D'accord! est un simple dérivé de brainf**k. Cela ne change aucune instruction, il les remplace simplement par des ooks. Voici la traduction: < = OK? D'accord. > = D'accord. D'accord? + = D'accord. D'accord. - = D'accord! D'accord!. = D'accord! D'accord., = D'accord. D'accord! [= D'accord! D'accord?] = D'accord? D'accord! D'accord! a été conçu pour être lu par les orangs-outans (comme une blague).
    • Blub est un autre dérivé simple. C'est exactement la même chose que Ook!, il suffit d'échanger le mot Ook pour le mot Blub, par exemple [= Blub? Blub! Comme d'accord! a été conçu pour les orangs-outans, Blub a été conçu pour les poissons.

Mises en garde

  • N'essayez pas de trop comprendre en une seule séance. Ça ne s'appelle pas brainfuck sans raison.
FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail