From 12ed5a27e7dcabf9d36ce76ba2868e1569561109 Mon Sep 17 00:00:00 2001 From: mnk7 Date: Fri, 27 Mar 2015 18:30:43 +0100 Subject: [PATCH] Hochzeit gefixt Beenden des Spiels angepasst -> Server beenden meldet die Clients ab --- bin/.gitignore | 3 +- bin/graphik/Graphik.class | Bin 10559 -> 10572 bytes bin/graphik/Meldungen.class | Bin 1973 -> 1970 bytes bin/graphik/SpielmodusDialog.class | Bin 6844 -> 6857 bytes bin/lib/Model.class | Bin 6332 -> 6382 bytes bin/server/Bot.class | Bin 4076 -> 4040 bytes bin/server/Graphik$2.class | Bin 2217 -> 2215 bytes bin/server/Graphik$3.class | Bin 863 -> 1015 bytes bin/server/Graphik.class | Bin 5902 -> 6002 bytes bin/server/Mensch$1.class | Bin 550 -> 550 bytes bin/server/Mensch.class | Bin 7036 -> 7189 bytes bin/server/Server.class | Bin 14494 -> 14471 bytes src/graphik/Graphik.java | 2 +- src/graphik/Meldungen.java | 2 +- src/graphik/Meldungen.java~ | 86 +++++++++++++++++++++++++++++ src/graphik/SpielmodusDialog.java | 4 +- src/lib/Model.java | 2 + src/server/Bot.java | 3 - src/server/Graphik.java | 9 ++- src/server/Mensch.java | 22 +++++--- src/server/Server.java | 43 +++++++-------- 21 files changed, 132 insertions(+), 44 deletions(-) create mode 100644 src/graphik/Meldungen.java~ diff --git a/bin/.gitignore b/bin/.gitignore index 3d33a15..162e4c2 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,2 +1,3 @@ -/client /server +/lib +/graphik diff --git a/bin/graphik/Graphik.class b/bin/graphik/Graphik.class index 186f18508bcd7d9c9e8c7155110bf628ef524840..550e481dac6f11e0890ebb3275a9b6916636d0d8 100644 GIT binary patch delta 49 zcmdlVbS7xS7hx6U(7Y6d%;XG(jKm~`l+08GkNo6}s?^L9g~Yt{)V%!M+|<0y+#)8T E0N#WW1ONa4 delta 36 rcmX>Tv_ELW7h!R+(7Y6d%;XG(jKm~`^wf;h%%a4S)RN5-A||2$3uFyM diff --git a/bin/graphik/Meldungen.class b/bin/graphik/Meldungen.class index d330dbaa7200fad14dd7126fa23b9e76d5e5a0ab..4d28558872a55eac165b623c933f0f27eaaab1aa 100644 GIT binary patch delta 19 bcmdnWzlndtQ)V{Sq@2X$?9K0(k23=ROMVBG delta 22 ecmdnQzm?(WVN^xOt zPI0X$7s|(Mt;Du&)Kb)5D8=>Gx^bf@U(aYuE}c`)?>SHB>C}04g1>|M!Tt760Pi^9 zfQ>MeS2H#W{y1&c=lHGj3tdU9C+x$qNOXKmjk+UjRwwTFdYcQW&{MF(4i`Jwr2?Kj zcB@)Xv))f655{_mtF6)TJ_n=m@1A)_@<-TY1FI^OxuT`9PTgfjovWC`H>oD-Bffk# zs0ClS5n>~VG^ytQ@3I#Ley~Yh`m(hawyIR4DkU7=$D8$*Ew;x^!_BGix^(F9BZnq( zQGkG0gdj@9QdFQy{D3-y#71eZ>Z5ulMZ^BPE#fM-%eQ%NQYFcL@-g42-PpMr{i;Y ky7KxUlkAbtvoXS6(GLxkkhf(qgMIXtWy#<^F;6|}XIHR_HFh0a*kO}6#4&q<3tX~SxWO%ZhujA|a`J>{ys)pN zp>$G7OJ=f=Dy)wDSnv}Ta3z=uDjHM4`#1YO{)X=>{|`L7Uj96ZLe$4Ppg}G8ZC+%h Pell0td2V4Es4do#Y{vup*6Pj7IB`M?v0*9=0yDuG1@_A delta 343 zcmW-cO-n*S7=_RAc4rC-gq*8jMMwowW`*qRuRu^wDAt zSIpy9T$e@Uq6XD=5fCg(lMI zi&NOg-q2}mNa+%4AX00P)L4)e3>aY3o_k4-+dD79E&Jvr?XQ<|x1qUX6VWQmwmNC- gb+m12a9PJJ4^d!E{&b83HtbZa<(^7%W^ZCg|KR#Q4gdfE diff --git a/bin/server/Bot.class b/bin/server/Bot.class index 3b2c0221cddfc16b19722cf2eb323e4d45e275f0..6f536284c0e4926bfba8a156262c680aa474c483 100644 GIT binary patch literal 4040 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 diff --git a/bin/server/Graphik$3.class b/bin/server/Graphik$3.class index edcb55a6f2bb8bd77acf7abce3a15bdf228f8cf4..60fdf23b4fb0d2ce2008a5d42f5d14b73942041c 100644 GIT binary patch delta 336 zcmZvYJ4*vW6ot>-s2i3=FfnQoK}F0?e5`My+X*5_x`_P{293%pGvk^r_`)BMUlNcI zEG#Xo?ejD2#GBR9d*RH-+%pI6^hds2@8kRR4ZsGXj`vBel8*p_kd^hiGG@L)C4sO9xp<02B(bD79yXl@(vX?V1MW9?NOWwA&Yt)U}RuUEh}MUkeSTKC^LCFlLMpP zK*+$LqP2yAX9t7$F`$ZkW-;b%3~G~mndN+x8QK|yfbwDxRSd!mB0wHcJ%c)f1_L95 mCXmg{z^Du)w17+|25kl%AkD%c!Jx~a4`gux6)^&7AOHZmAQr#? diff --git a/bin/server/Graphik.class b/bin/server/Graphik.class index 3ee5f9a7ac435d4551a179e5962c5483b5bd3f7a..1de00fad9c19a3f9a71bb34ffe2196b322729c61 100644 GIT binary patch delta 219 zcmeCv`=rNp>ff$?3=9m$j9MGH7Bed=xus_0q!uZZA6}ACl$w{Kkdj)g5Kxq#UX+-d zTU?S@R8qY8ICB*zCr4s(a%yq0ipAs_9_5MtoRb}Sdl&^apW{_#clTjnVqgRsDyFrK z;f@ybRt7JvEesyaM#79j+Zd*71j;ZmXaGqe1{NTB21uS|;AA+*Aj)u_K@%v#1JS+N sRdhZhn*ax+Dx=!uKrvyp#T(#S*}zKVz{;6GqKxWbQiD-*@&_?F0Oq4HZ~y=R delta 195 zcmeyQ*QdvI>ff$?3=9m$j2auc7Bfppx}|31q!uY8rDoCQy_IV$|j`(fN#83`~rwAYF`V XjOsvIih-Fy21tXzN(jZU9YO;DUK%M! diff --git a/bin/server/Mensch$1.class b/bin/server/Mensch$1.class index f10a0d3ae5281e8cfe6bc85e1f1535e2f31c40ad..dc99ed0cd161450bfb3f05a36e83b1e4cfb19002 100644 GIT binary patch delta 23 fcmZ3+vW#WJYDPw*$!i$xSxp$&8B8aCU^D{&Rfh(W delta 23 fcmZ3+vW#WJYDPxA$!i$xSq&K284M?XU^D{&RTBn= diff --git a/bin/server/Mensch.class b/bin/server/Mensch.class index 251ed742b29cff5407f5b9d2ed066e91fc43c2a2..d0e08b1879db37ef2e51e499feed138598ba63de 100644 GIT binary patch literal 7189 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 P$ES$M=Q(!rJ^%dyjCYPB literal 7036 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 diff --git a/bin/server/Server.class b/bin/server/Server.class index 28af6a386605d7b0b56faafe3b066640d8aacd3a..a67ffdd6e0e65242d4269dd2ea5683d83fe0e1f8 100644 GIT binary patch delta 5293 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 Zr-`-cG>ON_wdwFG)S{<0om(vZ_dhh|jsO4v delta 5172 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 festeAnzeigen; i--) { + //Rückt alle Anzeigen eins nach unten + meldung[i].setText(""); + meldung[i].setText(meldung[i - 1].getText()); + } + //Zeigt die neue Meldung an + meldung[1].setText(text); + } + + /** + * Zeigt an, dass der Spieler an der Reihe ist + */ + public void dran(boolean ein) { + if(ein) { + //Spieler einfärben + meldung[0].setForeground(Color.darkGray); + } else { + //Spieler wieder auf normal + meldung[0].setForeground(Color.white); + } + } + + /** + * Setzt alle Meldungen zurück + */ + public void reset() { + festeAnzeigen = 0; + for(int i = 0; i < meldung.length; i++) { + meldung[i].setText(""); + } + } + +} diff --git a/src/graphik/SpielmodusDialog.java b/src/graphik/SpielmodusDialog.java index 41d948e..f203434 100644 --- a/src/graphik/SpielmodusDialog.java +++ b/src/graphik/SpielmodusDialog.java @@ -192,7 +192,7 @@ public String modusZuSprache(modus m) { case HOCHZEIT: return "eine Hochzeit"; case SAUSPIELeichel: - return "ein Sauspiel auf die Eichel-SAU"; + return "ein Sauspiel auf die Eichel-Sau"; case SAUSPIELgras: return "ein Sauspiel auf die Gras-Sau"; case SAUSPIELherz: @@ -227,7 +227,7 @@ public String modusZuSprache(modus m) { return "ein Sie"; } - return "Nichts"; + return "nichts"; } public void reset() { diff --git a/src/lib/Model.java b/src/lib/Model.java index f82293c..b2436f6 100644 --- a/src/lib/Model.java +++ b/src/lib/Model.java @@ -302,6 +302,7 @@ public void hochzeit(int spielt, int mitspieler, Karte angebot, Karte angenommen //Karte von der Hand des Spielers nehmen spielerhand.get(spielt).remove(test); spielerhand.get(mitspieler).add(test); + break; } } Karte gegenTest; @@ -311,6 +312,7 @@ public void hochzeit(int spielt, int mitspieler, Karte angebot, Karte angenommen //Karte von der Hand des Spielers nehmen spielerhand.get(mitspieler).remove(gegenTest); spielerhand.get(spielt).add(gegenTest); + break; } } } diff --git a/src/server/Bot.java b/src/server/Bot.java index 7331131..4711a30 100644 --- a/src/server/Bot.java +++ b/src/server/Bot.java @@ -12,7 +12,6 @@ public class Bot implements Spieler { private int ID; private String name; private Model model; - private int kontostand; //wird nur benutzt, wenn eine Hochzeit durchgeführt wird private Karte karte; @@ -138,11 +137,9 @@ public void abmelden() { } public void rundeZuende(int kontostand) { - this.kontostand = kontostand; } public void konto(int kontostand) { - this.kontostand = kontostand; } public void update(Model model) { diff --git a/src/server/Graphik.java b/src/server/Graphik.java index 5cccceb..82405bc 100644 --- a/src/server/Graphik.java +++ b/src/server/Graphik.java @@ -57,7 +57,7 @@ public Graphik(){ try { initGUI(); } catch(Exception e) { - javax.swing.JOptionPane.showMessageDialog(null, "Fehler beim Programmstart"); + javax.swing.JOptionPane.showMessageDialog(null, "Fehler während des Programmstarts"); e.printStackTrace(); } } @@ -102,7 +102,7 @@ public void actionPerformed(ActionEvent evt) { tarifWert = Integer.parseInt(tarif.getText()); } catch(Exception e) { tarifWert = 10; - JOptionPane.showMessageDialog(g, "Falsche Tarifangabe. Der Tarif ist jetzt 10"); + JOptionPane.showMessageDialog(g, "Keine Tarifangabe. Der Tarif ist jetzt 10"); } server.setzeTarif(tarifWert); @@ -130,7 +130,7 @@ public void actionPerformed(ActionEvent evt) { server.beenden(); server = null; - beenden(); + start.setText("Server starten"); } } }); @@ -202,9 +202,8 @@ public synchronized void clear() { public void beenden() { clear(); - PlayerLabel[0].setText("Server beendet"); - start.setText("Server starten"); spielerzahl = 0; + PlayerLabel[0].setText("Server beendet"); } } diff --git a/src/server/Mensch.java b/src/server/Mensch.java index 9996269..dfc4a4c 100644 --- a/src/server/Mensch.java +++ b/src/server/Mensch.java @@ -23,6 +23,8 @@ public class Mensch implements Spieler { private String name; + private final int wartezeit = 800; + //speichert neueste antworten private HashMap antwort; private Model model; @@ -32,6 +34,8 @@ public class Mensch implements Spieler { private boolean beenden; + private Thread spieler; + public Mensch(Socket client, Server server) throws Exception { beenden = false; @@ -43,11 +47,12 @@ public Mensch(Socket client, Server server) throws Exception { //Errichtet neue Verbindung netzwerk = new Netzwerk(client); - new Thread() { - public void run() { - listen(); - } - }.start(); + spieler = new Thread() { + public void run() { + listen(); + } + }; + spieler.start(); } /** @@ -112,7 +117,7 @@ public synchronized String gibAntwort(String flag) { a = ""; } - Thread.sleep(1000); + Thread.sleep(wartezeit); } catch (Exception e) { a = ""; continue; @@ -126,7 +131,7 @@ public synchronized String gibAntwort(String flag) { public Model gibModel() { while(!modelupdate) { try { - Thread.sleep(1000); + Thread.sleep(wartezeit); } catch (InterruptedException e) { } } @@ -137,7 +142,7 @@ public Model gibModel() { public Karte gibKarte() throws InterruptedException { while(karte == null) { - Thread.sleep(1000); + Thread.sleep(wartezeit); } Karte k = karte; //löscht die eingelesene Karte, um nicht zweimal die gleiche zurückzugeben @@ -307,6 +312,7 @@ public void rundeZuende(int kontostand) { public void beenden() { beenden = true; netzwerk.beenden(); + spieler.interrupt(); server.entferneSpieler(this); } diff --git a/src/server/Server.java b/src/server/Server.java index 410ecd5..ce39193 100644 --- a/src/server/Server.java +++ b/src/server/Server.java @@ -312,19 +312,7 @@ private void werspielt() throws Exception { } } - modus[] werspieltwas = new modus[4]; - for(int i = 0; i < 4; i++) { - werspieltwas[i] = spielfolge.get(i); - } - hoechstesSpiel(spielfolge); - - //Wenn zwei Spieler das Gleiche spielen, spielt der, der zuerst spielt - for(int i = werspieltwas.length - 1; i >= 0; i--) { - if(werspieltwas[i].equals(mod)) { - spielt = i; - } - } } private modus bestesSpielFinden(ArrayList spielfolge) { @@ -351,6 +339,13 @@ private void hoechstesSpiel(ArrayList spielfolge) throws Exception { //ermittelt das höchstwertige Spiel spielErmitteln(spielfolge); + //Wenn zwei Spieler das Gleiche spielen, spielt der, der zuerst spielt + for(int i = spielfolge.size() - 1; i >= 0; i--) { + if(spielfolge.get(i).equals(mod)) { + spielt = i; + } + } + //Wenn eine Hochzeit nicht erlaubt ist, wird unter den restlichen Spielen ein höchstes ermittelt if(mod.equals(modus.HOCHZEIT) && !hochzeit(spielt)) { spielfolge.remove(spielt); @@ -376,7 +371,9 @@ private boolean hochzeit(int spielt) throws Exception { for(int i = 0; i < 4; i++) { weristdran(i); if(i != spielt && spieler.get(i).hochzeit()) { - hochzeitAnfragen(i, angebot); + if(hochzeitAnnehmen(i, angebot)) { + return true; + } } else { continue; } @@ -384,17 +381,16 @@ private boolean hochzeit(int spielt) throws Exception { } else { return false; } - - //Diese Fall ist nicht möglich, da i != spielt irgendwann zutrifft + return false; } - private boolean hochzeitAnfragen(int mitspieler, Karte angebot) throws InterruptedException { + private boolean hochzeitAnnehmen(int mitspieler, Karte angebot) throws InterruptedException { //Wenn die Hochzeit angenommen wird Karte k = spieler.get(mitspieler).gibKarte(); //Wenn die Karte kein Trumpf ist - if(Hochzeit.istTrumpf(k.gibWert(), k.gibFarbe())) { + if(!Hochzeit.istTrumpf(k.gibWert(), k.gibFarbe())) { model.hochzeit(spielt, mitspieler, angebot, k); this.mitspieler = mitspieler; return true; @@ -759,21 +755,22 @@ public String gibIP() { /** * Beendet den Server */ - @SuppressWarnings("deprecation") - public synchronized void beenden() { + public void beenden() { try { ArrayList s = (ArrayList) spieler.clone(); + beenden = true; server.close(); - //Spieler werden entfernt - for(int i = 0; i < s.size(); i++) { + + for(int i = 0; i < 4; i++) { s.get(i).abmelden(); } - this.suspend(); + this.interrupt(); + this.finalize(); graphik.beenden(); - } catch (IOException e) { + } catch (Throwable e) { e.printStackTrace(); //Programm beenden System.exit(0);