From 5487dc7f0bfcf6a4641714b03941b0588a907b37 Mon Sep 17 00:00:00 2001 From: Alperen Date: Sat, 5 Sep 2020 17:13:54 +0200 Subject: [PATCH] Fertiges Tik Tak Toe Projekt --- Tik_Tak_Toe/Spieler1.class | Bin 0 -> 931 bytes Tik_Tak_Toe/Spieler1.ctxt | 17 +++ Tik_Tak_Toe/Spieler1.java | 50 +++++---- Tik_Tak_Toe/Spieler2.java | 46 -------- Tik_Tak_Toe/Tik_Tak_Toe.class | Bin 539 -> 4038 bytes Tik_Tak_Toe/Tik_Tak_Toe.ctxt | 30 ++++-- Tik_Tak_Toe/Tik_Tak_Toe.java | 191 ++++++++++++++++++++++++++++++---- Tik_Tak_Toe/package.bluej | 52 ++++----- 8 files changed, 250 insertions(+), 136 deletions(-) create mode 100644 Tik_Tak_Toe/Spieler1.class create mode 100644 Tik_Tak_Toe/Spieler1.ctxt delete mode 100644 Tik_Tak_Toe/Spieler2.java diff --git a/Tik_Tak_Toe/Spieler1.class b/Tik_Tak_Toe/Spieler1.class new file mode 100644 index 0000000000000000000000000000000000000000..b08a4833035841ac49108e18c36d85fde04fde18 GIT binary patch literal 931 zcmZuu-D(p-6#iy+Hk)j=wl2P0%2QKzq90*vS zM*`xVfO8(JND0)_SdCPcgpo=GWE!5bxY;`izl7Z+Orvf;&*C(CE>L+9r*ZyLpxItN z?i>;PdORX{y%(qI@Zxl!vJc@PF?8c$m>h*!tn;!c^H1@)fYY~8LYz*%QCu*2ukHd61YssHrMrgcQNnuv9aCIT5vCg=`EQG}m*baU{1okB? z9c&$B@aPiGPaayh&e)=ahD#$*BZ-Fw{oSIyO`hB+h*;ZVMoKg($XDgb%~Gywa=-~D zaDMPoL0w@P^rLBfvv*1w4vPYX*Lkr0Z2{a|3D)kG!EzDYS_$4}%LVuuY~!jPe4N0R z$DGh?E}rRohemhjXzJ4jZm*`1nno_t?33nTB~2A~N;j`cH;sT(wE4?KzuN@X*YDG* T6s|gafnbiVF?Ds<+`RW6pLusF literal 0 HcmV?d00001 diff --git a/Tik_Tak_Toe/Spieler1.ctxt b/Tik_Tak_Toe/Spieler1.ctxt new file mode 100644 index 0000000..8f51553 --- /dev/null +++ b/Tik_Tak_Toe/Spieler1.ctxt @@ -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 diff --git a/Tik_Tak_Toe/Spieler1.java b/Tik_Tak_Toe/Spieler1.java index 1244dd3..06af21f 100644 --- a/Tik_Tak_Toe/Spieler1.java +++ b/Tik_Tak_Toe/Spieler1.java @@ -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(); - } -} + } +} \ No newline at end of file diff --git a/Tik_Tak_Toe/Spieler2.java b/Tik_Tak_Toe/Spieler2.java deleted file mode 100644 index d44e62f..0000000 --- a/Tik_Tak_Toe/Spieler2.java +++ /dev/null @@ -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(); - } -} diff --git a/Tik_Tak_Toe/Tik_Tak_Toe.class b/Tik_Tak_Toe/Tik_Tak_Toe.class index 1d4c4efb4d420a0e1929b4031e809542c1d28627..18ce2a641540b12feaf597204180af87baba269d 100644 GIT binary patch literal 4038 zcmb_e>2DPG8GdGG>{+kJHmtos@WC3eu}zHYEe)hLPJ&yAiy_B4TqeMHcUTWz?{0Qy z!A{bohg(9@(j+|+QYk^G4XT8q6a~}LC{k7RLy@X}srs?ss;W}|fl^fZyffq7acniM zRLuU)_k7;tH+TMZ`x5}W@Z$)&@uZHPI&|SF9Z%OGiHQg_JR>KEbsUKxjH9wSCd2VC zCL^3r$ndNTCxzvdP@RraW;y~3XGB6qZl`6iWjHG&GcshOP=u}vIT`X{6olzH8H#dJ z3d0Gb97PD}FwX0k(=o50E?Kax>=`SYR?spzIeykWXAWe|TxKBY6zyDQNP%7w604{n zGVW4a#X%m2{o{m!P${LL+2bucc6K0{GIKerNUGXlJ7+s13bysEl)dt#_pkzOG@rH< zG>zLi>ri=i$|_EnQ(2xw$MY#Od)O@6viA>_DFwR_>PX3Qp0^GZEit5~XKYNED~Dx@)eFVne0;{r`Pbxbm^PjL*7-ak%bl8|E0nwJ zEYE$Jmrf})ZCh#KH6&z@l}j0GO16G)1{_bEQIkb1K-949j_R;DAHcVYXYnG9>33ANKS35s2mMfGUl3V61^J{~j+Ml|R$j4U6dO26~W$La9e3G?R z6{u${=a8FDEj_&}izI?K@FojRiQ6S7Zsy`?0`#vJhrF05*QKB~itK7V$jalNrY@c(+a&&;%&(hOMwv}NH<|H?ZSu-Qmt1J&0 zv%Mfbl3Izs7}xQA$%(fVY^{dG&YjE8SbpR2T-ax(oP2R!$7QyX@qB)!TwsXDq`8b{ z%~HvtUvCHf@@07G_qdr$XRXp!k8xWC>S1J#Hg9gCT+(W z((#Uht`+{RW}AYJ|4fHY_V8}L1seN23z;iORk||^ld~eF%ekJb9T?#FIqv>JjvCG< z`ffq#tF8SlLZO>b`+f!O*bUU&LhViH+=Y*AzlFM+h`8$q-F3Y>(q4NNThxcNn8rm* z-$zi}6EQ7nBo{R0+Wo&Ts2u_&_G)ou@g-g!dljQGoIl5 z4EK{*hXkp2(!LR_$LG1y@DTm{0#_<;PH?x2v#fUGVR|I1FLD*4G@u>YeUfN8x^xWl zKMC$ZSMFlnT?$pOhk{)glspBB$UA+DXyC7rzovKa>uJtaijX=fGmlLQZhS|cD~bP(D&)1{N?v6(^HLI}4K2Y!<pW1Q7Cmc*E<;oBI*Z80#b*X z@IP^S+qNbW@on(Hr_vBtG?AFJY3~tZ!R9^Ga~9ugwCn11-g`OJ=mzRhY#{$eW{l*B z;qeDlX$Wm#)0el%*YYkyE+I~+!>vr#esxb9r;Q%sYHOk`YD^{<(XkL>&i<9hi`cZF zaQ(+BlpWA1VT|JeX6-?2;@riI-OjT?JXL{0GF$RB#J>SIU&X&fz`ixm?jfYyLoL&> z^{!i$eC>Q&3$#>hZFjRPP7GoUyxOXz6Kz^L+LGO3+e}^jtnf4{kGOFHKJhXm;X<8I6Vc7@W0SYh+)dQm)VLdF zrJEjq2ym&1)+(3gZ(Ob#e^cQSQL3+`T{c?6Qz8vVtx1TIpQ6tr^EA4)ERp$AJu8=2 zh}UHc%+exD*kSn=2+4W2yLqJX0?u%q#Y?!&PqUBtWhNCQ1sr0=e#I@|-IWzl31n>y zb&|FHY@hd_xN~>6lo`LsJ`2pwAeh`#!Q`d_%csFy;&Q=U;&Qg83T3yg)!M5zN;K=9>ib62bf-!F-EgUjBc8$uCwux$5wmOKK|u)L~Jue%-VZ-I{WC#~8pH?!vh@6!G&Y*|;)il4Ch`S7rh_wsxI zKdabW$A-Gpw)!h=YcP-iYbEer+iGSKczuhX`o6u_{n{P&?A_(r+g9zdiQ81nXVmMm zfAMVQ7~RSz%Pprn)wbrD{sB$@kfz_@ll38=sE_y+bCbq>z&HLE0n< literal 539 zcmaivzfQw25XL{JX+o2<4Fwh!gv7ufi4F`5AQmJTh+rVh394m#MjF|x74U|q{psvCyR@yUe2yv?S9VHn6% zJeKoFfwc7o^xDDw VMzG%w9yEf3cJQbX9MWb6{9l-$M>GHc diff --git a/Tik_Tak_Toe/Tik_Tak_Toe.ctxt b/Tik_Tak_Toe/Tik_Tak_Toe.ctxt index 2f4cfff..7f39885 100644 --- a/Tik_Tak_Toe/Tik_Tak_Toe.ctxt +++ b/Tik_Tak_Toe/Tik_Tak_Toe.ctxt @@ -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 diff --git a/Tik_Tak_Toe/Tik_Tak_Toe.java b/Tik_Tak_Toe/Tik_Tak_Toe.java index 4e0afd6..56d96d3 100644 --- a/Tik_Tak_Toe/Tik_Tak_Toe.java +++ b/Tik_Tak_Toe/Tik_Tak_Toe.java @@ -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("------------"); + + } + } } diff --git a/Tik_Tak_Toe/package.bluej b/Tik_Tak_Toe/package.bluej index 6c92835..6a1f4c8 100644 --- a/Tik_Tak_Toe/package.bluej +++ b/Tik_Tak_Toe/package.bluej @@ -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