Fertiges Tik Tak Toe Projekt

This commit is contained in:
Alperen 2020-09-05 17:13:54 +02:00
parent ac7d7ee373
commit 5487dc7f0b
8 changed files with 250 additions and 136 deletions

BIN
Tik_Tak_Toe/Spieler1.class Normal file

Binary file not shown.

17
Tik_Tak_Toe/Spieler1.ctxt Normal file
View File

@ -0,0 +1,17 @@
#BlueJ class context
comment0.target=Spieler1
comment1.params=pName
comment1.target=Spieler1(java.lang.String)
comment2.params=
comment2.target=java.lang.String\ getName()
comment3.params=
comment3.target=int\ siege()
comment4.params=
comment4.target=int\ niederlagen()
comment5.params=
comment5.target=void\ sieg()
comment6.params=
comment6.target=void\ niederlage()
comment7.params=
comment7.target=double\ kd()
numComments=8

View File

@ -1,26 +1,19 @@
/**
* Beschreiben Sie hier die Klasse Spieler1.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Spieler1 { public class Spieler1 {
int kd ;
Spieler1 spieler1; int siege;
int kd; int niederlagen;
int siege; String name;
int niederlagen; public Spieler1(String pName)
/**
* Konstruktor für Objekte der Klasse Spieler1
*/
public Spieler1()
{ {
kd = 0; kd = 0;
siege = 0; siege = 0;
niederlagen = 0; niederlagen = 0;
name = pName;
}
public String getName()
{
return name;
} }
public int siege() public int siege()
@ -32,15 +25,20 @@ public class Spieler1 {
{ {
return niederlagen; return niederlagen;
} }
public void sieg()
{
siege += 1;
}
public int kd() public void niederlage()
{
niederlagen += 1;
}
public double kd()
{ {
kd = siege/niederlagen; kd = siege/niederlagen;
return kd; return kd;
} }
}
public void zug()
{
Tik_Tak_Toe.setzeKreis();
}
}

View File

@ -1,46 +0,0 @@
/**
* Beschreiben Sie hier die Klasse Spieler2.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Spieler2 {
Spieler2 spieler2;
int kd;
int siege;
int niederlagen;
/**
* Konstruktor für Objekte der Klasse Spieler2
*/
public Spieler2()
{
kd = 0;
siege = 0;
niederlagen = 0;
}
public int siege()
{
return siege;
}
public int niederlagen()
{
return niederlagen;
}
public int kd()
{
kd = siege/niederlagen;
return kd;
}
public void zug()
{
Tik_Tak_Toe.setzeKreis();
}
}

Binary file not shown.

View File

@ -1,15 +1,25 @@
#BlueJ class context #BlueJ class context
comment0.target=Tik_Tak_Toe comment0.target=Tik_Tak_Toe
comment0.text=\r\n\ Beschreiben\ Sie\ hier\ die\ Klasse\ Tik_Tak_Toe.\r\n\ \r\n\ @author\ (Ihr\ Name)\ \r\n\ @version\ (eine\ Versionsnummer\ oder\ ein\ Datum)\r\n comment1.params=name\ name2
comment1.params= comment1.target=Tik_Tak_Toe(java.lang.String,\ java.lang.String)
comment1.target=Tik_Tak_Toe() comment10.params=
comment1.text=\r\n\ Konstruktor\ f\u00FCr\ Objekte\ der\ Klasse\ Tik_Tak_Toe\r\n comment10.target=boolean\ unentschieden()
comment11.params=
comment11.target=void\ feldAusgeben()
comment2.params= comment2.params=
comment2.target=void\ startGame() comment2.target=void\ game()
comment3.params= comment3.params=
comment3.target=void\ endGame() comment3.target=boolean\ spielVorbei()
comment4.params= comment4.params=
comment4.target=void\ setzteKreis() comment4.target=void\ newGame()
comment5.params= comment5.params=pX\ pY
comment5.target=void\ setzeKreuz() comment5.target=void\ setzeKreis(int,\ int)
numComments=6 comment6.params=pX\ pY
comment6.target=void\ setzeKreuz(int,\ int)
comment7.params=pX\ pY
comment7.target=boolean\ pr\u00FCfen(int,\ int)
comment8.params=
comment8.target=boolean\ hatGewonnen_x()
comment9.params=
comment9.target=boolean\ hatGewonnen_o()
numComments=12

View File

@ -1,40 +1,185 @@
import java.util.Scanner;
/**
* Beschreiben Sie hier die Klasse Tik_Tak_Toe.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Tik_Tak_Toe { public class Tik_Tak_Toe {
/**
* Konstruktor für Objekte der Klasse Tik_Tak_Toe public String[][] Spielfeld = new String[3][3];
*/
public Tik_Tak_Toe() 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 startGame() 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 void endGame() 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 setzteKreis() public void setzeKreuz(int pX, int pY)
{ {
if(prüfen(pX, pY) == true)
{
Spielfeld[pX-1][pY-1] = "x";
feldAusgeben();
}
} }
public void setzeKreuz() public boolean prüfen(int pX, int pY)
{ {
if(Spielfeld[pX-1][pY-1] == " ")
{
return true;
}
return false;
} }
// Methoden
// Implementieren sie hier die Methoden der Klasse
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("------------");
}
}
} }

View File

@ -1,26 +1,23 @@
#BlueJ package file #BlueJ package file
dependency1.from=Spieler1 dependency1.from=Tik_Tak_Toe
dependency1.to=Tik_Tak_Toe dependency1.to=Spieler1
dependency1.type=UsesDependency dependency1.type=UsesDependency
dependency2.from=Spieler2 editor.fx.0.height=1066
dependency2.to=Tik_Tak_Toe editor.fx.0.width=1936
dependency2.type=UsesDependency editor.fx.0.x=-8
editor.fx.0.height=984 editor.fx.0.y=-8
editor.fx.0.width=1054
editor.fx.0.x=-6
editor.fx.0.y=0
objectbench.height=173 objectbench.height=173
objectbench.width=1256 objectbench.width=1133
package.divider.horizontal=0.6 package.divider.horizontal=0.6
package.divider.vertical=0.8002219755826859 package.divider.vertical=0.8119122257053292
package.editor.height=714 package.editor.height=770
package.editor.width=1145 package.editor.width=1785
package.editor.x=0 package.editor.x=0
package.editor.y=0 package.editor.y=0
package.frame.height=1000 package.frame.height=1057
package.frame.width=1296 package.frame.width=1936
package.numDependencies=2 package.numDependencies=1
package.numTargets=3 package.numTargets=2
package.showExtends=true package.showExtends=true
package.showUses=true package.showUses=true
project.charset=UTF-8 project.charset=UTF-8
@ -29,24 +26,17 @@ readme.name=@README
readme.width=47 readme.width=47
readme.x=10 readme.x=10
readme.y=10 readme.y=10
target1.height=100 target1.height=110
target1.name=Tik_Tak_Toe target1.name=Tik_Tak_Toe
target1.showInterface=false target1.showInterface=false
target1.type=ClassTarget target1.type=ClassTarget
target1.width=150 target1.width=160
target1.x=340 target1.x=590
target1.y=30 target1.y=60
target2.height=50 target2.height=50
target2.name=Spieler2 target2.name=Spieler1
target2.showInterface=false target2.showInterface=false
target2.type=ClassTarget target2.type=ClassTarget
target2.width=80 target2.width=80
target2.x=530 target2.x=310
target2.y=270 target2.y=140
target3.height=50
target3.name=Spieler1
target3.showInterface=false
target3.type=ClassTarget
target3.width=80
target3.x=210
target3.y=270