Brainfuck is eine esoterische programmiersprache die eig leicht zu lernen ist aber schwer aussieht. das ganze geht auf 255 bytes. das heist die höchste value ist 255. dazu aber später mehr. ich zeig euch mal den anfang.
Was ihr benötigt:
ascii tabelle mit decimal.
bf ide
viel zeit und noch mehr nerven XD
keine freunde die anrufen oder stören
taschenrechner oder der microsoft rechner unter zubehör
wenn ihr alles hab können wir anfangen
hier die operatoren:
> // pointer einen memory nach rechts
< // pointer einen memory nach links
+ // am memory 1 dazuzählen
- // am memory 1 abziehen
[ // schleifenanfang
] // schleifenende
. // zahl in ascii ausgeben
, // input
erstmal wie kann man sich das vorstellen?
so:
[] = der memory . die zahl steht für den value der drinnen ist. er ist dezimal und wird mit einem "." zu einem ascii zeichen.
^ = der pointer. er zeigt an auf welchen memory man sich gerade befindet
am anfang sieht es immer so aus:
- Code:
-
[0][0][0][0][0][0]...
^
so jetz machen wir unser erstes programm.
[-]
ok es macht was es sagt. es zählt runter bis es null erreicht. noch was zu den schleifen: arbeitet die schleife mit dem wert "0" wird sie ignoriert. das heisst: [-] bei einem value von 0 macht genau garnichts XD. also machen wir daraus mehr und fügen einen value ein.
+[-]
jetz mal schritt für schritt:
fangen wir mit dem plus an. es erhöht den value im memory um 1. das sieht danach so aus:
- Code:
-
[1][0][0][0][0][0]...
^
jetzt das [-] dazu:
- Code:
-
[0][0][0][0][0][0]...
^
also jetz mal das erste sinnvlle programm. wie immer das erste: ein hallo welt programm.
- Code:
-
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>---.+++++++++++
..+++.>++.<<+++++++++++++++.++++++++++++++.>---.++++++++.>+.>.
spalten wir es auf. erster teil:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.
das is das "H". erst werdem zum ersten memory 10 dazugezählt. dan kommt die schleife. hier kommen wir ind die multiplikation. also: mit > schlatet der pointer zum nöchsten memory und zählt 7 dazu. dann zum nächsten und zählt 10 dazu dan zum nächsten und 3 dazu, da zum nächsten und 1 dazu. danach schaltet er 4 memorys zurück und zählt dor eines weg. dan beginnt das ganze wieder (der pointer schaltet wieder weiter, zält dazu und zieht ab..) bis der erste wert der 4 werte null ist. dan schaltet die schleife ab und es geht weiter. der pointer schaltet einen memory weiter und zählt 2 dazu. das ganze sieht dan so aus:
- Code:
-
[0][72][100][30][10][0]...
^
jetz wird das alles mit einem "." von dezimal value zu ascii ausgegeben. diezahl 72 entspricht in ascii-zeichen "H" (grosses H. das kleine hat einen andere zahl.)
so den rest des codes überlass ich euch. damit wiss ihr jetz wie man mit brainfuck texte ausgibt. später gibts mehr tutorials XD also
Aufgaben:
1.) Erstelle ein Prpgramm das deinen Namen ausgibt.
2.) Erstelle ein Prpgramm das alle ASCII Zeichen ausgibt.
LSG.Anfragen bitte per pn schicken wenn sie wer wissen will.
glg ~NekO~