public static void main(String[] args) {
int[][] tabla;
int aktualisJatekos = 1;
int eredmeny = 0;
int lepesSzam = 0;
tabla = tablaInicializalas();
Scanner sc = new Scanner(System.in);
do {
tablaKirajzolas(tabla);
ervenyesLepes(sc, tabla, aktualisJatekos);
eredmeny = nyertesVizsgalat(tabla);
aktualisJatekos = kovetkezoJatekos(aktualisJatekos);
lepesSzam++;
if (lepesSzam == 9) {
eredmeny = 3;
}
} while (eredmeny == 0);
tablaKirajzolas(tabla);
nyertesKiiras(eredmeny);
}
public static int[][] tablaInicializalas() {
return new int[3][3];
}
public static void tablaKirajzolas(int[][] tabla) {
System.out.println("+-+-+-+");
System.out.println("|" + tabla[0][0] + "|" + tabla[0][1] + "|" + tabla[0][2] + "|");
System.out.println("+-+-+-+");
System.out.println("|" + tabla[1][0] + "|" + tabla[1][1] + "|" + tabla[1][2] + "|");
System.out.println("+-+-+-+");
System.out.println("|" + tabla[2][0] + "|" + tabla[2][1] + "|" + tabla[2][2] + "|");
System.out.println("+-+-+-+");
}
public static int[] ervenyesLepes(Scanner sc, int[][] tabla, int aktualisJatekos) {
if (aktualisJatekos == 1) {
System.out.println("A(z) 1-es játékos következik.");
} else if (aktualisJatekos == 2) {
System.out.println("A(z) 2-es játékos következik.");
}
System.out.println("Melyik sor?");
int sor = sc.nextInt();
System.out.println("Melyik oszlop?");
int oszlop = sc.nextInt();
while (sor > 2 || sor < 0 || oszlop > 2 || oszlop < 0 || tabla[sor][oszlop] != 0) {
System.out.println("Hibás mezőszám!");
System.out.println("Melyik sor?");
sor = sc.nextInt();
System.out.println("Melyik oszlop?");
oszlop = sc.nextInt();
}
int[] lepes = {sor, oszlop};
if (aktualisJatekos == 1) {
tabla[sor][oszlop] = 1;
} else if (aktualisJatekos == 2) {
tabla[sor][oszlop] = 2;
}
return lepes;
}
public static int nyertesVizsgalat(int[][] tabla) {
int eredmeny = 0;
int dbSor1 = 0;
int dbSor2 = 0;
int dbOszlop1 = 0;
int dbOszlop2 = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (tabla
[j] == 1) {
dbSor1++;
if (dbSor1 == 3) {
eredmeny = 1;
}
} else if (tabla[j] == 2) {
dbSor2++;
if (dbSor2 == 3) {
eredmeny = 2;
}
}
}
dbSor1 = 0;
dbSor2 = 0;
}
for (int j = 0; j < 3; j++) {
for (int i = 0; i < 3; i++) {
if (tabla[j] == 1) {
dbOszlop1++;
if (dbOszlop1 == 3) {
eredmeny = 1;
}
} else if (tabla[j] == 2) {
dbOszlop2++;
if (dbOszlop2 == 3) {
eredmeny = 2;
}
}
}
dbOszlop1 = 0;
dbOszlop2 = 0;
}
if (tabla[0][0] == 1 && tabla[1][1] == 1 && tabla[2][2] == 1
|| tabla[0][2] == 1 && tabla[1][1] == 1 && tabla[2][0] == 1) {
eredmeny = 1;
} else if (tabla[0][0] == 2 && tabla[1][1] == 2 && tabla[2][2] == 2
|| tabla[0][2] == 2 && tabla[1][1] == 2 && tabla[2][0] == 2) {
eredmeny = 2;
}
return eredmeny;
}
public static int kovetkezoJatekos(int aktualisJatekos) {
if (aktualisJatekos == 1) {
return 2;
} else {
return 1;
}
}
public static void nyertesKiiras(int eredmeny) {
if (eredmeny == 1) {
System.out.println("Az 1-es játékos győzött.");
} else if (eredmeny == 2) {
System.out.println("A 2-es játékos győzött.");
} else if (eredmeny == 3) {
System.out.println("Döntetlen!");
}
}
}
Nincsenek megjegyzések:
Megjegyzés küldése