2020. szeptember 8., kedd

Amőba játék java nyelven

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