Frage von credist, 31

Kann mor jmd bei diesem Informatik Code helfen?

Hallo,

ich verstehe diesen Code an einigen Stellen nicht und es wäre nett wenn ihr mor vllt an einigen Stellen die Sachen nochmal erklären könntet. Hier der Code: http://www.openprocessing.org/sketch/309165

Mir geht es dabei besonders um die Zuordnung der Arrays zu den Feldern, die Bewegung der Figuren und diesen Bedingungen z.B. in dem Code gibt es immer wieder if bedingungen wo als bedingungen einfach nur die Variable angegeben ist und nicht sowas wie ==true etc. z.B. if (gameover) {.....

Vielen Dank schonmal im Vorraus.

Mfg Credist

Antwort
von oelbart, 20

gameOver ist eine boolean-Variable.
if(gameOver)
ist deshalb gleichbedeutend mit
if(gameOver == true)

Für den rest bitte auch konkrete Fragen

Kommentar von credist ,

Ah ok danke. Mir geht es halt darum zu wissen wie die Arrays den Schachfeldern zugeordnet werden, also das jetzt dieser array zu diesem schachfeld gehört und wie hier die figuren genau beweget werdem

Kommentar von oelbart ,

board ist ein zweidimensionales image-array
board = new PImage[8][8]

Die Array-Zeilen (also der erste Index) stehen für die Zeilen im Spielfeld (das kann man an der Initialbelegung sehen:

board[0][0] = bRook;    board[0][1] = bKnight;    board[0][2] = bBishop;    board[0][3] = bQueen;    board[0][4] = bKing;    board[0][5] = bBishop;    board[0][6] = bKnight;    board[0][7] = bRook;    board[1][0] = bPawn;    board[1][1] = bPawn;    board[1][2] = bPawn;    board[1][3] = bPawn;    board[1][4] = bPawn;    board[1][5] = bPawn;    board[1][6] = bPawn;    board[1][7] = bPawn;

Die Felder werden in movePiece entsprechend neu belegt (also entweder mit schwarzen oder weißen figuren oder halt ohne irgendwelche figuren)

validMove prüft anscheinend, ob ein Zug möglich ist....

Antwort
von smalar, 13

Weiß nicht welche Sprache das ist.

Aber ich denke du solltest deine Frage(n) konkreter stellen. Keiner wird dir Zeile für Zeile irgendeinen Quellcode erklären. Da solltest du schon ein wenig einfacher anfangen. Aber zu deinen Fragen und wie ich es verstehe. Es gibt ja das Array Board, was von der Klasse PImage ist (kenne ich leider nicht). Aber das scheint ein eine Klasse für Bilder zu sein. Da die Figuren vorher ja auch damit deklariert wurden. Im Falle des Boards wird aber noch ein Array mit zwei Ebenen dazu deklariert.

PImage[][] board;

Diese werden weiter unten ja auch mit den PImage der Figuren gefüllt

undefined


board[0][0] = bRook;
board[0][1] = bKnight;

So werden die Teile des Board Arrays mit den Bildern der Figuren ausgefüllt. Das kann man dann ja jederzeit bei jedem Zug ändern.

So hast du bei einem Feld von Acht mal Acht Feldern das Array board [0] [0] bis board [7] [7].

auf 0 0 (also links unten) wird jetzt das Bild vom Turm genutzt.


Ach und if (gameover == TRUE) ist das gleiche wie if (gameover), immer mehr Sprachen können Booleans auch so abfragen.

Andersrum wäre if (gameover == FALSE) das gleiche wie if not (gameover),



Kommentar von smalar ,

PS: Hör auf oelbart, der besser ins Detail, muss leider weg.

Antwort
von Omnivore10, 6

Ist doch ganz einfach. Das ist ein zweidimensionales Array. Das beinhalten Zeile und Spalte.

Also wäre beispielsweise board[0][1] die erste Zeile und zweite Spalte! Was ist daran so schwer?

Keine passende Antwort gefunden?

Fragen Sie die Community