Fertiges Tik Tak Toe Projekt
This commit is contained in:
parent
ac7d7ee373
commit
5487dc7f0b
Binary file not shown.
|
@ -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
|
|
@ -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();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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.
|
@ -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
|
||||||
|
|
|
@ -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("------------");
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
|
||||||
|
|
Loading…
Reference in New Issue