Tic Tac Toe

Status
Nicht offen für weitere Antworten.
G

Gravity7

Gast
Erstmal Hallo zusammen!
Wir müssen in der Schule ein Projekt machen, unswar muss jeder ein Spiel prgrammieren in Java. Da ich erst ein Jahr in die HTL für Informatik gehe, können wir noch nicht graphisch programmieren, also soll das Spiel zuerst ohne grafik sein, also mit Zeichen (ich dachte an leere felder: # (Raute) und halt die Zeichen x und o ). Nun wollte ich fragen wie man so ein Spiel am besten proggt. Würde es villeicht ne möglichkeit mit einem dreidimensionalen Array geben? Wenn ja bitte zeigt mir mal ein Beispiel. Und ich dachte daran das Spiel in einer for-Schleife zu machen, so lange halt nicht 3 gleiche in einer Reihe, waagrecht, diagonal oder senkrecht sind soll sie sich wiederholen.

mfg Gravity7 :D
 
G

Gravity7

Gast
PS: Achja und der Lehrer sagte, wir sollen Methoden wenns geht verwenden.

mfg Gravity7 :D
 

Slava

Bekanntes Mitglied
bei jdk gibt es ein ordner "demo\applets\TicTacToe"
es ist schon fertig!!!
du muss nur die quelcodeverstehen.
 
R

Roar

Gast
tztztz.... :noe: :noe:
da wird dein :meld: aber nicht sehr erfreut sein :lol: :roll:

ich würde ein zweidiemsionales int.array machen. in dem speicher ich dann die wert: 0 = Feld nicht besetzt, 1 = 'X' 2 = 'O'

also am anfang so:
Code:
int[][] data = {{0,0,0}, // 1. reihe
                    {0,0,0), // 2. reihe
                    {0,0,0}}; // 3. reihe

dann eine methode um den entsprechenden wert zu setzen:

Code:
void setDataAt(int x, int y, int new) {
       data[x][y] = data;
}

wird dann z.b. so aufgerufen:

setData(0,0,1);

dann wird in der ersten reihe 1 spalte ein X gesetzt.

dann noch eine methode um das ganze auf der konsole zu rendern (+ eine kleine hilfesmethode):

Code:
String getStringForData(int d) {
    if(d = 0)
         return " ";
    if(d = 1)
         return "X";
    if(d = 2)
         return "O";
}

void print() {
System.out.println("Spielfeld:2);
System.out.println("#######");
for(int i=0; i<3; i++) {
System.out.print("#");
System.out.print(getStringForData(data[i][0]));
System.out.print("#");
System.out.print(getStringForData(data[i][1]));
System.out.print("#");
System.out.print(getStringForData(data[i][2]));
System.out.print("#\n");
}
System.out.println("#######");
}

So. dann musst du natürlich noch hinzufügen dass der benutzer eingeben soll wo er sein zeichen hinmachen will, und KI dex computers musst du auch selbst machen :p

dann kommt am ende evtl sowas raus:

#######
#X#X#O#
#O#O#X#
#X#X#O#
#######

Achtung: Das war jetzt nur so schnell dahingehackt. für richtigkeit übernehm ich nix haftung.

edit: @stevg: kannst du nicht irgendwie den HTML <pre> tag aktivieren? dann kann man shcöne ascii bildchen malen...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben