Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class tictactoe2
- {
- public static void main(String[] args) throws NotInFieldgr
- {
- Scanner scanner = new Scanner(System.in);
- boolean schleife = true;
- int aufsteigendeZahl = 0;
- int durchlaufe = 0;
- int counter = 0;
- String feld3 = "X";
- String feld2 = "Feld";
- String feld = "O";
- String stringaufsteigendeZahl;
- System.out.println("Wie viele Spalten wollen sie verwenden?");
- int spalten = scanner.nextInt();
- System.out.println("Wie viele Reihen wollen sie verwenden?");
- int reihen = scanner.nextInt();
- String[][] spielfeld = new String [spalten][reihen]; // 2 Arrays - 1 Spalte - 2 Reihe
- String[] felder = new String[spalten*reihen]; // Fuer die Erstellung der Felder - automatisch
- for(int i=0; i < felder.length;i++) // Damit der String Feld immer um eine Zahl erhöht wird
- {
- aufsteigendeZahl = 1+i;
- stringaufsteigendeZahl = Integer.toString(aufsteigendeZahl); // Int wird umgeparst zum String
- felder[i] = feld2+stringaufsteigendeZahl; // String Feld2 wird eine Zahl hinzugefügt umd dann ins Array gespeichert
- }
- for(int i =0; i < spalten; i++) // Einfügen der Felder[] Array in das 2 dimensionales Array
- {
- for(int j = 0; j < reihen; j++)
- {
- spielfeld[i][j] = felder[durchlaufe];
- durchlaufe++;
- }
- }
- while(schleife)
- {
- try
- {
- if(counter == (spalten*reihen))
- {
- schleife = false;
- throw new KeineEingabeMoeglich();
- }
- for(int i =0; i < spalten; i++) // Ausgabe vom Spielfeld
- {
- for(int b=0;b < reihen ;b++)
- {
- System.out.print(spielfeld[i][b]+ " ");
- }
- System.out.println();
- }
- System.out.println("Spieler 1, bitte geben Sie ihre Position ein \n");
- String spieler1 = scanner.next();
- markieren(spielfeld,spieler1,feld3,spalten,reihen); // Übergabe der Parameter
- counter++;
- for(int i =0; i < spalten; i++) // Erneute Ausgabe des Spielfeldes
- {
- for(int b=0;b < reihen ;b++)
- {
- System.out.print(spielfeld[i][b]+ " ");
- }
- System.out.println();
- }
- System.out.println("Spieler 2, bitte geben Sie ihre Position ein \n");
- String spieler2 = scanner.next();
- markieren(spielfeld,spieler2,feld,spalten,reihen); // Übergabe der Parameter vom zweiten Spieler
- counter++;
- }
- catch(NotInFieldgr e)
- {
- System.out.println("Fehler --- "+e+"Angabe ist nicht mehr im Feld \n");
- }
- catch (KeineEingabeMoeglich e)
- {
- System.out.println("Fehler --- Keine Eingabe mehr moeglich");
- }
- }
- scanner.close();
- }
- public static String markieren(String[][] spielfeld,String spieler, String Feld, int spalten,int reihen) throws NotInFieldgr
- {
- for(int i = 0; i < spalten; i++)
- {
- for(int j = 0; j < reihen ;j++)
- {
- if(spielfeld[i][j].equals(spieler))
- {
- spielfeld[i][j] = Feld;
- return spielfeld[i][j];
- }
- }
- }
- throw new NotInFieldgr();
- }
- }
- class NotInFieldgr extends Exception
- {
- private static final long serialVersionUID = 1L;
- }
- class KeineEingabeMoeglich extends Exception
- {
- private static final long serialVersionUID = 1L;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement