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 {
|
||||
|
||||
Spieler1 spieler1;
|
||||
int kd;
|
||||
int siege;
|
||||
int niederlagen;
|
||||
/**
|
||||
* Konstruktor für Objekte der Klasse Spieler1
|
||||
*/
|
||||
|
||||
public Spieler1()
|
||||
int kd ;
|
||||
int siege;
|
||||
int niederlagen;
|
||||
String name;
|
||||
public Spieler1(String pName)
|
||||
{
|
||||
kd = 0;
|
||||
siege = 0;
|
||||
niederlagen = 0;
|
||||
name = pName;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
public int siege()
|
||||
|
@ -32,15 +25,20 @@ public class Spieler1 {
|
|||
{
|
||||
return niederlagen;
|
||||
}
|
||||
|
||||
public void sieg()
|
||||
{
|
||||
siege += 1;
|
||||
}
|
||||
|
||||
public int kd()
|
||||
public void niederlage()
|
||||
{
|
||||
niederlagen += 1;
|
||||
}
|
||||
|
||||
public double kd()
|
||||
{
|
||||
kd = siege/niederlagen;
|
||||
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
|
||||
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=
|
||||
comment1.target=Tik_Tak_Toe()
|
||||
comment1.text=\r\n\ Konstruktor\ f\u00FCr\ Objekte\ der\ Klasse\ Tik_Tak_Toe\r\n
|
||||
comment1.params=name\ name2
|
||||
comment1.target=Tik_Tak_Toe(java.lang.String,\ java.lang.String)
|
||||
comment10.params=
|
||||
comment10.target=boolean\ unentschieden()
|
||||
comment11.params=
|
||||
comment11.target=void\ feldAusgeben()
|
||||
comment2.params=
|
||||
comment2.target=void\ startGame()
|
||||
comment2.target=void\ game()
|
||||
comment3.params=
|
||||
comment3.target=void\ endGame()
|
||||
comment3.target=boolean\ spielVorbei()
|
||||
comment4.params=
|
||||
comment4.target=void\ setzteKreis()
|
||||
comment5.params=
|
||||
comment5.target=void\ setzeKreuz()
|
||||
numComments=6
|
||||
comment4.target=void\ newGame()
|
||||
comment5.params=pX\ pY
|
||||
comment5.target=void\ setzeKreis(int,\ int)
|
||||
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 @@
|
|||
|
||||
|
||||
/**
|
||||
* Beschreiben Sie hier die Klasse Tik_Tak_Toe.
|
||||
*
|
||||
* @author (Ihr Name)
|
||||
* @version (eine Versionsnummer oder ein Datum)
|
||||
*/
|
||||
import java.util.Scanner;
|
||||
public class Tik_Tak_Toe {
|
||||
/**
|
||||
* Konstruktor für Objekte der Klasse Tik_Tak_Toe
|
||||
*/
|
||||
public 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 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
|
||||
dependency1.from=Spieler1
|
||||
dependency1.to=Tik_Tak_Toe
|
||||
dependency1.from=Tik_Tak_Toe
|
||||
dependency1.to=Spieler1
|
||||
dependency1.type=UsesDependency
|
||||
dependency2.from=Spieler2
|
||||
dependency2.to=Tik_Tak_Toe
|
||||
dependency2.type=UsesDependency
|
||||
editor.fx.0.height=984
|
||||
editor.fx.0.width=1054
|
||||
editor.fx.0.x=-6
|
||||
editor.fx.0.y=0
|
||||
editor.fx.0.height=1066
|
||||
editor.fx.0.width=1936
|
||||
editor.fx.0.x=-8
|
||||
editor.fx.0.y=-8
|
||||
objectbench.height=173
|
||||
objectbench.width=1256
|
||||
objectbench.width=1133
|
||||
package.divider.horizontal=0.6
|
||||
package.divider.vertical=0.8002219755826859
|
||||
package.editor.height=714
|
||||
package.editor.width=1145
|
||||
package.divider.vertical=0.8119122257053292
|
||||
package.editor.height=770
|
||||
package.editor.width=1785
|
||||
package.editor.x=0
|
||||
package.editor.y=0
|
||||
package.frame.height=1000
|
||||
package.frame.width=1296
|
||||
package.numDependencies=2
|
||||
package.numTargets=3
|
||||
package.frame.height=1057
|
||||
package.frame.width=1936
|
||||
package.numDependencies=1
|
||||
package.numTargets=2
|
||||
package.showExtends=true
|
||||
package.showUses=true
|
||||
project.charset=UTF-8
|
||||
|
@ -29,24 +26,17 @@ readme.name=@README
|
|||
readme.width=47
|
||||
readme.x=10
|
||||
readme.y=10
|
||||
target1.height=100
|
||||
target1.height=110
|
||||
target1.name=Tik_Tak_Toe
|
||||
target1.showInterface=false
|
||||
target1.type=ClassTarget
|
||||
target1.width=150
|
||||
target1.x=340
|
||||
target1.y=30
|
||||
target1.width=160
|
||||
target1.x=590
|
||||
target1.y=60
|
||||
target2.height=50
|
||||
target2.name=Spieler2
|
||||
target2.name=Spieler1
|
||||
target2.showInterface=false
|
||||
target2.type=ClassTarget
|
||||
target2.width=80
|
||||
target2.x=530
|
||||
target2.y=270
|
||||
target3.height=50
|
||||
target3.name=Spieler1
|
||||
target3.showInterface=false
|
||||
target3.type=ClassTarget
|
||||
target3.width=80
|
||||
target3.x=210
|
||||
target3.y=270
|
||||
target2.x=310
|
||||
target2.y=140
|
||||
|
|
Loading…
Reference in New Issue