Archiv verlassen und diese Seite im Standarddesign anzeigen : [C] versteht den Code :>
electron1x
05.11.2011, 15:36
In dieser Aufgabe, müsst ihr nichts coden, sondern nur verstehen.
Hier ist der Code:
/* gameoflife.c - by C2dafuqnkay */
# define B f[a]
char f[2][26][82],i,j,a=0,c[]="_o",n;main(){B[3][3]=B[3][2]=B[3][1]=B[2][3]=B[1][2]=1;for
(;;){system("clear");for(i=1;i< 25;i++){for(j=1; j<81;j++){printf("%c",c[f[!a][i][j]]);n=B
[i-1][j-1]+B[i-1][j]+B[i-1][j+1]+B[i][j-1]+B[i][j+1]+B[i+1][j-1]+B[i+1][j]+B[i+1][j+1];f[!
a][i][j]=(!B[i][j]&&n==3) ||(B[i][j]&&n>1&&n<4);}puts("");}sleep(1);a=!a;}}
Eure Aufgabe ist es zu beschreiben, wie der Code funktioniert.
HF! :)
Muss ich passen xD das übertrifft mein C nicht Skill bei weitem ^^
lol, fuck this.
http://s3-ak.buzzfed.com/static/imagebuzz/web05/2011/7/29/23/fuck-that-squid-10545-1311997460-16.jpg
Kryptologie die sich einen Array zur Hilfe nimmt ?
electron1x
05.11.2011, 17:09
Hier die eingerückte Version... einfach um euch 1 Minute Arbeit zu ersparen ^^
# define B f[a]
char f[2][26][82],i,j,a=0,c[]="_o",n;
main()
{
B[3][3]=B[3][2]=B[3][1]=B[2][3]=B[1][2]=1;
for(;;){
system("clear");
for(i=1;i< 25;i++){
for(j=1; j<81;j++){
printf("%c",c[f[!a][i][j]]);
n=B[i-1][j-1]+B[i-1][j]+B[i-1][j+1]+B[i][j-1]+B[i][j+1]+B[i+1][j-1]+B[i+1][j]+B[i+1][j+1];
f[!a][i][j]=(!B[i][j]&&n==3) ||(B[i][j]&&n>1&&n<4);
}
puts("");
}
sleep(1);
a=!a;
}
}
@ocz: keine eunrückung zeilenumbrüche fehlen nur, damit man das programm auch als sig verwenden kann ;)
... und um newbs abzuschrecken hrhr
@Solaro: nein, hat nichts damit zu tun.
Five-Three-Nine
05.11.2011, 18:40
Dich gibt's also auch noch, electron1x :surprised
Den Glider selbst geschrieben?
/*
Die Module spielen verrückt!
Schalt mich ein, schalt mich aus.
Die Gefühle müssen raus.
*/
// gameoflife.c - by C2dafuqnkay
// A game of life glider in obscured C
char f[2][26][82], // Zeichenfeld (Zweidimensional)
i, // Kontrollvariable I (Höhe y)
j, // Kontrollvariable II (Breite x)
a=0, // Dimension
c[]="_o", // Symbole (0="_";1="o")
n; // Bewegungslogikspeicher
main()
{
f[a][3][3]=f[a][3][2]=f[a][3][1]=f[a][2][3]=f[a][1][2]=1; // Startkoordinaten
/*
xox
xxo
ooo
*/
for(;;){ // Endlosschleife
system("clear"); // Leere Zeichenfeld
for(i=1;i< 25;i++){ // Zeilenschleife (y)
for(j=1; j<81;j++){ // Pixelschleife (x)
printf("%c",c[f[!a][i][j]]);
// Schreibe Symbol; Symbol = Zeichenfeld[!Dimension[y][x]];
// Im ersten Durchlauf wird nur das Spielfeld gezeichnet
// Bewegunslogik
n=f[a][i-1][j-1]+f[a][i-1][j]+f[a][i-1][j+1]+f[a][i][j-1]+f[a][i][j+1]+f[a][i+1][j-1]+f[a][i+1][j]+f[a][i+1][j+1];
f[!a][i][j]=(!f[a][i][j]&&n==3) ||(f[a][i][j]&&n>1&&n<4);
}
puts(""); // Newline
}
sleep(1); // Warte
a=!a; // Dimensionswechsel
}
}
Ich hoffe das reicht aus; die Logik ausführlich zu beschreiben wäre ja schon wieder eine Aufgabe für sich. :p
electron1x
05.11.2011, 19:04
sehr cool mr 1337,
Jetzt fehlt nur noch die Bewegungslogik, dann ist das Programm komplett dokumentiert :D
Btw, mich wundert auch, dass du noch lebst 539... Auf die gute alte zeit :D
area42 4 life
kleiner tipp: n steht für nachbarn ;)
EDIT: ja den glider habe ich geschrieben :) was hälst du von dem code?
Powered by vBulletin® Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.