Tic Tac Toe Programmierung

M

Muni1997

Gast
Hallo!
Ich soll als Hausaufgabe ein Tic Tac Toe Spiel programmieren, jedoch weiß ich gar nicht wie ich vorgehen soll..
Java:
String [][] board = new String [3][3];
private static String [][] placeMark(String[][] board){
  return board;
}

private static boolean cellIsValid(String[][] board, int row, int column){
  return  true;
}

private static void printBoard(String[][] board){
 
}

private static boolean hasWon(String[][] board){
  return true;
}
Diese 4 Methoden sollen wir benutzen.

Für das Programm soll ein Spieler die Zeilennummer und die Spalten nummer mit der Tastatur ausgeben
Code:
 1 2 3
A_/_/_/
B_/_/_/
C_/_/_/
Quasi so, dann wenn spieler 1 dran ist gibt er quasi erst zeile: A und spalte: 1 ein zum Beispiel
Zum markieren werden X und O benutzt

Ich hoffe mir kann geholfen werden!
 

Robat

Top Contributor
Also hier mal ein Paar Denkanstöße meinerseits:

private static String[][] placeMark(String[][] board);

- OUT: "Bitte Zeile und Spalte eingeben" System.out.println("..");
- IN: Zeile, Spalte Scanner s = new Scanner(System.in);
- Prüfen ob die Eingabe gültig ist (siehe cellIsValid(String[][] board, int row, int column);) if(cellIsValid(board, 1, 1)) {...}
- WENN Eingabe nicht gültig ist, Fehlermeldung ausgeben und bei OUT: "Bitte Zeile und Spalte..." wieder anfangen.
- SONST prüfen welcher Spieler dran ist (ggf. mit einer boolean Variable isPlayerOnesTurn) if(isPlayerOnesTurn) { .. } else {..}
- Wenn Zeichen erfolgreich gesetzt wurde:
- OUT: board printBoard(board);
- Prüfen ob ein Spieler gewonnen hat if(hasWon(board)) { ... }
- Wenn JA, erneut anfangen / oder Abbrechen (je nach Aufgabestellung
- Wenn NEIN, weiter bei OUT: "Bitte Zeile und Spalte..."

-----

private static boolean cellIsValid(String[][] board, int row, int column);

- WENN das Array an der Stelle [row][column] bereits ein X oder O hat
- OUT: Fehlermeldung - weiter bei OUT: "Bitte Zeile und Spalte eingeben"
- return false;
- SONST return true;

----

private static void printBoard(String[][] board);

Die Ausgabe eines 2D-Arrays in Java machst du am besten mit 2 ineinander geschachtelten for-Schleifen, wo bei die 1. For-Schleife die Zeilen angibt und die 2. for-Schleife die Spalten
Bsp:
Java:
for(int i = 0; i < array.length; i++)
{
    for(int j = 0; j < array[i].length; j++)
    {
         .....
    }
}
------

private static boolean hasWon(String[][] board);

Alle Fälle prüfen, ob ein Spieler gewonnen hat:
- Diagonalen
- Zeilen, Spalten in jeglicher Kombination

-WENN einer der Fälle eintritt return true
- SONST return false

PS: Gibt sicherlich auch noch andere Lösungswege und dieser hier ist auch nicht final. Es soll nur als Anregung dienen!

Gruß
Robert
 
M

Muni1997

Gast
Danke für die schnelle Antwort!!

Hätte jemand schon dazu einen fertigen Sourcecode, an den ich mich orientieren kann?
 

Robat

Top Contributor
Hätte jemand schon dazu einen fertigen Sourcecode, an den ich mich orientieren kann?
Den könnte ich dir auch geben. Dann solltest du den Post aber hier ( http://www.java-forum.org/forum/private-stellangebote-und-stellensuche-von-usern.97/ ) noch mal posten und ein wenig Geld bereit legen .. ein wenig Eigeninitiative solltest du schon in einem Forum an den Tag legen.. oben steht die (komplette) Logik deiner Methoden.. fang doch erstmal an
 

Neue Themen


Oben