Tik-Tak-Toe-Projekt/Tik_Tak_Toe/Tik_Tak_Toe.java

186 lines
4.7 KiB
Java

import java.util.Scanner;
public class Tik_Tak_Toe {
public String[][] Spielfeld = new String[3][3];
Spieler1 spieler;
Spieler1 spieler2;
public Scanner sc = new Scanner(System.in);
public Tik_Tak_Toe(String name, String name2)
{
spieler = new Spieler1(name);
spieler2 = new Spieler1(name2);
for(int a = 0; a < 3;a++ )
{
for(int b = 0; b < 3; b++)
{
Spielfeld[a][b] = " ";
}
}
}
public void game()
{
int pX;
int pY;
newGame();
feldAusgeben();
while(spielVorbei() == false)
{
System.out.println(spieler.getName()+" ist an der Reihe!");
pX = sc.nextInt();
pY = sc.nextInt();
setzeKreuz(pX,pY);
if(spielVorbei() == false)
{
System.out.println(spieler2.getName()+" ist an der Reihe!");
pX = sc.nextInt();
pY = sc.nextInt();
setzeKreis(pX,pY);
}
}
if(hatGewonnen_x() == true)
{
spieler.sieg();
spieler2.niederlage();
System.out.println(spieler.getName()+" hat gewonnen!");
}
if(hatGewonnen_o() == true)
{
spieler2.sieg();
spieler.niederlage();
System.out.println(spieler2.getName()+" hat gewonnen!");
}
if(unentschieden() == true)
{
System.out.println("Keiner hat gewonnen!");
}
}
public boolean spielVorbei()
{
if(unentschieden() == true || hatGewonnen_x() == true || hatGewonnen_o() == true)
{
return true;
}
return false;
}
public void newGame()
{
for(int a = 0; a < 3;a++ )
{
for(int b = 0; b < 3; b++)
{
System.out.print(Spielfeld[a][b] = " ");
}
System.out.println();
}
}
public void setzeKreis(int pX, int pY)
{
if(prüfen(pX, pY) == true)
{
Spielfeld[pX-1][pY-1] = "o";
feldAusgeben();
}
}
public void setzeKreuz(int pX, int pY)
{
if(prüfen(pX, pY) == true)
{
Spielfeld[pX-1][pY-1] = "x";
feldAusgeben();
}
}
public boolean prüfen(int pX, int pY)
{
if(Spielfeld[pX-1][pY-1] == " ")
{
return true;
}
return false;
}
public boolean hatGewonnen_x()
{
for(int i = 0; i < 3;i++)
{
if(Spielfeld[i][0] == "x" && Spielfeld[i][1] == "x" && Spielfeld[i][2] == "x")
{
return true;
}
}
for(int i = 0; i < 3;i++)
{
if(Spielfeld[0][i] == "x" && Spielfeld[1][i] == "x" && Spielfeld[2][i] == "x")
{
return true;
}
}
if(Spielfeld[0][0] == "x" && Spielfeld[1][1] == "x" && Spielfeld[2][2] == "x" || Spielfeld[0][2] == "x" && Spielfeld[1][1] == "x" && Spielfeld[2][0] == "x")
{
return true;
}
return false;
}
public boolean hatGewonnen_o()
{
for(int i = 0; i < 3;i++)
{
if(Spielfeld[i][0] == "o" && Spielfeld[i][1] == "o" && Spielfeld[i][2] == "o")
{
return true;
}
}
for(int i = 0; i < 3;i++)
{
if(Spielfeld[0][i] == "o" && Spielfeld[1][i] == "o" && Spielfeld[2][i] == "o")
{
return true;
}
}
if(Spielfeld[0][0] == "o" && Spielfeld[1][1] == "o" && Spielfeld[2][2] == "o" || Spielfeld[0][2] == "o" && Spielfeld[1][1] == "o" && Spielfeld[2][0] == "o")
{
return true;
}
return false;
}
public boolean unentschieden()
{
for(int a = 0; a < 3;a++ )
{
for(int b = 0; b < 3; b++)
{
if(Spielfeld[a][b] == " ")
{
return false;
}
}
System.out.println();
}
return true;
}
public void feldAusgeben()
{
for(int a = 0; a < 3;a++ )
{
for(int b = 0; b < 3; b++)
{
System.out.print(Spielfeld[a][b] +" | ");
}
System.out.println();
System.out.println("------------");
}
}
}