From 25fb89f9cc5eb35ef5a368a50c251c38cad2144a Mon Sep 17 00:00:00 2001 From: deadlocker <deadlocker@gmx.de> Date: Wed, 13 Apr 2016 18:09:18 +0200 Subject: [PATCH] changed AI wishColor choose method --- class/application/Controller$3.class | Bin 1256 -> 1256 bytes class/application/Controller$4.class | Bin 3337 -> 3337 bytes class/application/Controller$5.class | Bin 1580 -> 1580 bytes class/application/Controller$6.class | Bin 1498 -> 1498 bytes class/application/Controller$7.class | Bin 2481 -> 2481 bytes class/application/Controller$8.class | Bin 2452 -> 2452 bytes class/application/Controller.class | Bin 20703 -> 20749 bytes class/logic/AI.class | Bin 6027 -> 6766 bytes class/logic/Game.class | Bin 9067 -> 9067 bytes src/application/Controller.java | 10 +- src/logic/AI.java | 131 +++++++++++++++++---------- src/logic/Game.java | 6 +- 12 files changed, 91 insertions(+), 56 deletions(-) diff --git a/class/application/Controller$3.class b/class/application/Controller$3.class index 5af37a53a20cac3ee4c586dd3c0da87139da798f..2128f395e0c1285f380c5a39a35da7d4cc20120f 100644 GIT binary patch delta 23 fcmaFC`GRu;GYjL_$t)}htiKpE7=BOAWT^)LWc>&% delta 23 fcmaFC`GRu;GYjMA$t)}htUnku7=BL9WT^)LWWxw1 diff --git a/class/application/Controller$4.class b/class/application/Controller$4.class index 83d0a0d6d7d5d44b27d64481536e0e22438f65a6..18e172e014f9f90cf9c77aac8d174c5207080d6d 100644 GIT binary patch delta 104 zcmeB_>Xh1Wh>J0N^I<L>#?TlBX~sAPCB_5>C&m<pV8%3tXvTDg6vhmOa>h)CI>s!9 zF2)>&IgEJ>OBwSSHZT@4>|iWn*vDARaG0@_;TU5X!*Rw6hSQ8y4CfeY8LlxlFuY-G Jp6tSN6aZ=s9DV=* delta 104 zcmeB_>Xh1Wh>J0F^I<L>#?UARX~q}^CB`@gC&na(V8#@NXvS2A6vi}$a>jIqI>ro! zF2*c|IgB|BOBr(+HZbNh>|iWl*vDANaG0@};TU5H!*RwkhSQ7{4CffD8LlzbF}z`H Job1AL6aZm498drN diff --git a/class/application/Controller$5.class b/class/application/Controller$5.class index 50f44e4cf0791a6e12b8034d9836a60254a4090e..8af2d7a21736cb309334f3db6649df62f7150a7c 100644 GIT binary patch delta 43 zcmZ3(vxa8_6D#Ai$;_<nlCv4u8Rs$xG0tNUWn9Q0!?>8ifN=?fKjYHLi&;AX?R*OG delta 43 zcmZ3(vxa8_6D#AC$;_<nk~10D8D}#HG0tHSWt`6-!?=*afN>FnKjY%bi&;AX>_`gW diff --git a/class/application/Controller$6.class b/class/application/Controller$6.class index 3bf96ae40a12298d8a832db127f13f189970680a..c6e728912a18f3fbf8453904330e8e10bf5fec52 100644 GIT binary patch delta 43 zcmcb`eT#d;eip`)lMk>|NS<S0XS~25#CVZGl<^9K4C6Hhb;j!q4vaS@2eNho085e$ A;Q#;t delta 43 zcmcb`eT#d;eip{#lMk>|NS<L}XFSIs#CV=Tl<^XS4C56Bb;hd<4vg0(2eNho07_mB A(EtDd diff --git a/class/application/Controller$7.class b/class/application/Controller$7.class index 2eaef6fcc54693b6cfbb760248ece358e8144d99..924830cc9a644c72f247fc5b0f8afae39ecf9e96 100644 GIT binary patch delta 83 zcmdleyis_=4tB<mlXtRza{R`?&G?-`i17!5DB~{%O~yYA`iwsqESMM=!k8EtvY40{ p%9&UgI+)lPCNr@!Ok?6=Sjfc9u!4z)VFME{!!9QN$!|E00s#1}6<7cO delta 83 zcmdleyis_=4tB=(lXtRza{R);&G?l;i18bPDB}+XO~zjg`i$QgEExYWgfaeS$YNq( pC}(0~=wM=Dn9Rh=FpY_WVIdPI!wM!Yh7C;I47-?kC%@r13IIst7cu|< diff --git a/class/application/Controller$8.class b/class/application/Controller$8.class index f0bab148e9474b147897c65235e50a0deb680447..317db5cfe359ab74d87b9e022e8e2e9ded25904a 100644 GIT binary patch delta 83 zcmbOtJVkiJGIquZlb5qUcbv+=%`}Zch-o^5DAP;^O{Uol`b^UqESTmq1TZaNh-O;I qkioQ=p^|ASLkH6`hHj>n4AYoaG0bIJ&9Ibd4a0h-b(7C?90dT??ii2& delta 83 zcmbOtJVkiJGIqw^$;;WFJ5FNYW}3_(#59FLlxZ4+CesWCeWoc47EE&(0+{A9L^I7} q$Y5H)P|382p@V5LLpRehhG|U88RjyrU|7nul3_j5>dEIhjsgJ9t{7SX diff --git a/class/application/Controller.class b/class/application/Controller.class index 02b838e5e9596bac1ddb95e100477043cbca5fd7..5cfe2b26c0c85dea77f618ede9f90e9d5812753a 100644 GIT binary patch delta 1539 zcmcb=kg<0W<AxGFE=ENLW(H;k28PL#>-2)P9ksSFJlA2_#wdS)QFR-m`Zh*wtt|}i zby(3vKI$+}zM&__Y{tMl`KO*{U<JcEhAxKn43ii(GE8G&U{HXV$uON^1_KC8W;9|n zW?%%_!)U^2%D}{E#=yY90~ax8U}CgjU|`^2VEWDA^P9nSa;E-4&ut7W3_BRu8Fnz3 zFzjZqXV}Bw&ajuki(x-QD8m7UScZcP2@HoBvKfvr6f+!UC}TLz(8zFtp_AbxLl47g zh6xO37$!4ZWSGrxX>zea4Cgfl7KR%PJPbD{-!SmtyvxABaF0QN;r?VzLl4f!3>*wk z7z7xePOdU^;C#uz!tjcLgW>h$!-fv5?-@84K1}8?3g`X8z`^j9L7d?qgFM6k$vH+L ztjr7?j4YFn8hLPXFmNz(G6*noO%^jQ6y#&zViaJIW)x(QV-#V~XB3+}!#IRhih+Ys zdh$o(AXa$>0Y-(%9wt7FDwC(0MDl7f2r+6gNHS_OC@|`7{%x|4G1Z8{jM13EmeGX4 zh0%<`gVBN^kkOJMlF^DGiP46khS83piP3?fgVBj$A)_<H8Ab<&+l+P$uNd7JJ}|m7 zd}j1w_{r$Q@So9-QIyf2(Sgy2(Vx+aF^(~aF@-UdF`Y4-v6``Mvz&PXqhU7#4`VNb zC}SUk0%Jde8sh{89ma_aMvRjfEEp#<*fCCF@ME0H5XU%;A(wFlLlNW3&Fd|eF~+WC z;AC9KAjG(yL4t83gBs%|23N){3;~Sm8R8jtFk~?9WGG?W%`k~^55rN$eGC^F4=~(f zJjn2r@esos#={Js7>_XgU_8q3kMS5I3*&J{QN|ODYK$it%^7bq+A!YPyvb@7qw50( zZpKFpGK`NIlo_8eXfr-#FlKzl;K=xb!He-FLnz}bhG@pu42g_y7}6QvGUPJ8V<={P z&(O^Hfnh4+M~1~rLJTXIgf~yLnab!X&cMPX$so@p#h}e3&0x+X%izo;&*0Cb$dJgS z%23Rt#n8&6&oG_IlwlK-8N&`HbA}^KmJAn|tQqbw*)qIia%5y+a$^)?^4^?pC(NiA z#30WU%%I8?%3#P8&S1+F$>7Np%@EBL&ydTM!cfnYxp}euG{*V@1|g;*205k@1{J1K z1|6m{1~aB|1_!1J27jh1h6tu=hGeE1hAgI9h61KKhBBslh8m^@h9;&ah6PM53>%qR z8ICZuF&t-VXSl`G!SI@?li?jx7b7E6H=__!52Gm41V$C6jf|R1o50!5gMpoafl&*V z?HIKt?{GXTxs8E?X*&Zy(+&n9rd<r`OnVq~nRYOkG40<xzp@Gt`l(@_RCrsE7! zOeYzXm`*cjF`Z$sWID$X%5<I~h3O(gG1Fy+CZ?+lQ<<(Y%wW37u$t*M!#bvW3<sGW zFdSie%y6CQ8N*|y7Yxssjx&5<dbK&x<q>1zI|de}4-9NfpBSW>zA>mU{b0~#`pIC+ z^ozlP=`VvP(?5n#W=4isW@d&QW>$s{W_E_@%$y9%n7J9YGV?N=VCG{u%`C`pk6D=E zA+s367iI~D@66JST+DKeyiA`M#hDd0FL5(xlvH8hU{+<|XI5hnV%A`=VAf)=V^(8u zXV%^P#a)59-iU#f*@S_M*^GgQ*@8il*@{7(*@nS^*^a@V*@Yp8*^Qxx*_~k$vnRuR zW^aZy%)Sgenf)2gFb6Q4XAWj~#2m`-lsSUo2Xhp|Z{}D=KIQ~QDdt2*S>|L$Tjmr- zXXZ3UZ{`ff2<9xtROTGUBIZ2CR_1)h4(1}p*~}%3^P-r`88<RlGHzk6VLZ-U&v==+ zf$<u16XQ4LX2w6vtxPP;?M#BqolJ7f-Avldy-aq@eN2wb6PZGoCo_dJPh-krp23vM zJe#S3c^*>_^L(a$=EY2tm@Sy*FfZNw*83r&;7SG-=G6>h%xf8>nO8HYFt6Wy-<O?H ob~6Jv^A-k8=B*6o%-b09n71?3Fz;aKV&2Kn&%A3hv;Q4N0KzMHMF0Q* delta 1509 zcmeBO#CU%p<AxGFE{4wx%nZy73=H{`>-2)zWwo|2eAHo`{6|lYS&xBxvaG(Qdmh7j zhG`583<?l+4AU8AFn~ZlqY<Mq10zT;qY0xa0~4be0|NsOT*RD#iP3_Afq{*I={JLq z;^gW22R*kiurO?6U}xCIV8XDI!Jc6kgFC}+1}}!a451AB7-AXrGbAt^WXNVX#8Av| zn4yf}C_^K|F@{ct;|x6vCmAL%oMM>FaGqf{!-dHU4PrR2Ft9LOW8h)9KAFwXgYz~6 z2g4l(0fxJi!wo$+A2M(-JYo=FcszN9p#$f01{Q`F3>*wECx0|_V13KL!SHVKM?;ax zUPjKmpBOk8J~N0j{9%x1_&a%)Q3xv|0|z4$Sf1V3gp-YdgOQy<fRSUei*cbK4+9q? zAA>X_KZ6{j5Q9FW$mC<jA*>P%9E_5a<xPTEWf=q*<tCSz_%JF>K5P=ntIi<AsKFq~ zsL7zfsJ&U!bRT1?0fQN%A%iWW5rYe(34;ft8ABkWIYT6)1w#^}6+;c94MP*79YY7B z1H(c_M}{+ub_}-}Z5UoLx-fiTbY=L==)v%l(Tm|fqYtAfqc5WaqZgw;qX%OgV*q0c zV=!YnV<=-aW6NeA^8`l2P6i&vZU#}t9tH)*UIsPBJ_a4eeg-4P2@DpD6B+CnCo%Xj zPG*Q>oWhXHxQwBQarx%E7Rwl8S2J)ju3->jT+1NAxSm0caRY-Z<0ggx#<dLbjN2G8 z7`HQ&Fz#fS#JG#$DB~W6i;VjiZZYm>c*=Ny;SJ+KhEI%#7=ADwX86Z=gpq~uD5EIj zF-A4U<BaBvHyLdhZ*6{HHH*>p9s@Vy0|pt!hYZS$j~KKWA2S#;K4EZVe8%9#_?#h> z@dZOP<4cA_##apKjISAT8Q(AzGrnbLW_-smmGM2pVkQBG6-<Jg_uEWm^b}=aVG?JM zXOdvhW|CwuXOd=cW|C#_XOd?~WKw1*X3}72WzuDs&ScE6iOGav2a_qo5hinn3rv;_ zcbKdh-Z9xTGBCL?3Nd+Zo@*z}s2IQ?&lJd@$`s6C$P~(8%M{Mw$rQ;D%@oU!%ap`W z&y>FTqWv_+%v=T`rhEoDra}f4rXmI%reX#&rV<7RrcwrfrgDY|rV55+rb>n^rYeR4 zrfP;VrW%GCrdoz3rh0}2OpOd1nVJ}mFf}tAXKG=%#nj61nyHQ99aB3aBU1;X5K||k zC{r(^3e!49O{VpeFE~Dy+|0niw1t76X)A*e({=`RrkxDBOj{YunD%Tw<5a{Lcz}V0 z=@0`O(-8(Kreh3BOeYw$m`*ZSGM#1!Wje!<!gP+InCSvT6VoMzsZ5s{W-wi2Sj}{U zVI9+LhJ#FZ8ICYLV7SionBg(gQ-)_uM;JaZJ>T5#@`$niH3JLNTLw0!_YBfZpBYq` zzB1@CePgg?`p)3M^ozlh={G|t(?5n-W(I~FW+sLXW)_C&%xnzHm^m1>GIKGUVCH5x z&CJJek6D1>A+s>U7iLk0@5~a6T+GspyiD&I#hGQn1xpYE2Ll761gv0TlwkVGXbLJu zHh*xFWRz57;9yo_;Ad855MowkuwYhauwzzcaA(%qtmL7<T(8H#%51>E#cagD!)(H! z$ZW=-&TPTpz--0f&+NdE!|cS+!|cp3iP@E5KC?T+8fH(1oy^`0XPA8$&NKTnJYo)H zc*-2Y@Pj#w;Wu+6BOh}NqZD&2qbzegqb+j+qcd|7qc?L3V+3;=V=8k7V-a%}V=Hqu zV+V5{<80;v#(7c9#f%%7OBuH?S1=xDu4cT<T*G*cxsLH0b3Nl9=0+wK=4K{A=2j*- z=5{7+=1wL%<}M~j=3b@{=6<Gd=1ELh%u|?hnWr-~FwbJ@VV=#@&pe-L60-@@9Oi|a zrF|YU3NB?}VP4K4#=Me2nt3^c3iImCyngJAvg;YRnKv+KGH+xsXWqn+$Gn-LhItD^ R7xPwze&%hP4gK#h0svCqX-ohB diff --git a/class/logic/AI.class b/class/logic/AI.class index df353ee3ae663b8b959e6662320e38974158bf54..a3f028bb804f8d16c225286e94be4567d305afbc 100644 GIT binary patch literal 6766 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 literal 6027 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 diff --git a/class/logic/Game.class b/class/logic/Game.class index 96d0da5970d79a85319aa8ca68ad9face9bcbbc4..9e2fd9f9c22dc0f1b41c3b2ef245685d31c800d3 100644 GIT binary patch delta 52 tcmaFu_S$X3IuUgjHm&UpZrd0<!?m_BIP7L{iWKr?!4UG_d{tx`9{}C?5i9@z delta 27 jcmaFu_S$X3IuR~^Hm&UpZrd0<!zY)EsBOL{(#r<`nSTm3 diff --git a/src/application/Controller.java b/src/application/Controller.java index 510ebe8..c3bb0b7 100644 --- a/src/application/Controller.java +++ b/src/application/Controller.java @@ -168,8 +168,10 @@ public class Controller } if(ais.size() == 3) - { - labelAI3Name.setText(ais.get(2).getName()); + { + labelAI1Name.setText(ais.get(1).getName()); + labelAI2Name.setText(ais.get(2).getName()); + labelAI3Name.setText(ais.get(0).getName()); labelAI3Name.setVisible(true); } } @@ -616,6 +618,7 @@ public class Controller } } + @SuppressWarnings("unused") public void moveCardFromDeckToAI(AI ai, ArrayList<Card> cards) { Card card = game.getDeck().drawCard(game.getDeadDeck()); @@ -809,6 +812,7 @@ public class Controller } } + @SuppressWarnings("unused") public void setAIDeck(AI ai) { clearAIDeck(ai); @@ -816,7 +820,7 @@ public class Controller ArrayList<Card> deck = ai.getDeck(); int counter = 1; - + for(Card currentCard : deck) { ImageView current = createBackCard(); diff --git a/src/logic/AI.java b/src/logic/AI.java index 30414e2..793f957 100644 --- a/src/logic/AI.java +++ b/src/logic/AI.java @@ -1,7 +1,6 @@ package logic; import java.util.ArrayList; -import java.util.Random; public class AI { @@ -34,7 +33,7 @@ public class AI { return wins; } - + public int getID() { return id; @@ -53,31 +52,31 @@ public class AI } public Card playCard(Card card) - { - deck.remove(card); + { + deck.remove(card); return card; } public ArrayList<Card> getValidCards(Card lastCard, Color wishColor, boolean challenge) - { - ArrayList<Card> validCards = new ArrayList<Card>(); + { + ArrayList<Card> validCards = new ArrayList<Card>(); if(challenge) { for(Card currentCard : deck) - { + { if(wishColor == null) { if(currentCard.getType().equals(CardType.DRAW_TWO) || currentCard.getType().equals(CardType.DRAW_FOUR)) { validCards.add(currentCard); } - } + } else if(wishColor.equals(Color.ALL)) - { + { if(currentCard.getType().equals(CardType.DRAW_TWO) || currentCard.getType().equals(CardType.DRAW_FOUR)) { validCards.add(currentCard); - } + } } else { @@ -91,23 +90,24 @@ public class AI else { if(wishColor == null) - { + { for(Card currentCard : deck) - { - if(currentCard.getColor().equals(lastCard.getColor()) || currentCard.getType().equals(lastCard.getType()) || currentCard.getType().equals(CardType.WILD) || currentCard.getType().equals(CardType.DRAW_FOUR)) + { + if(currentCard.getColor().equals(lastCard.getColor()) || currentCard.getType().equals(lastCard.getType()) || currentCard.getType().equals(CardType.WILD) + || currentCard.getType().equals(CardType.DRAW_FOUR)) { validCards.add(currentCard); - } + } } } else if(wishColor.equals(Color.ALL)) { for(Card currentCard : deck) - { - if(!currentCard.getType().equals(CardType.WILD) && !currentCard.getType().equals(CardType.DRAW_FOUR)) + { + if( ! currentCard.getType().equals(CardType.WILD) && ! currentCard.getType().equals(CardType.DRAW_FOUR)) { validCards.add(currentCard); - } + } } } else @@ -117,11 +117,11 @@ public class AI if(currentCard.getColor().equals(wishColor)) { validCards.add(currentCard); - } + } } - } - } - + } + } + return validCards; } @@ -134,7 +134,7 @@ public class AI { return name; } - + public ArrayList<Card> getDeck() { return deck; @@ -150,50 +150,36 @@ public class AI if(challenge) { System.out.println("draw " + game.getChallengeCounter() + " cards"); - ArrayList<Card> drawedCards = game.getDeck().drawCards(game.getChallengeCounter(), game.getDeadDeck()); + ArrayList<Card> drawedCards = game.getDeck().drawCards(game.getChallengeCounter(), game.getDeadDeck()); game.getController().moveCardFromDeckToAI(this, drawedCards); - System.out.println("deack after draw: " + deck); + System.out.println("deack after draw: " + deck); } else { System.out.println("draw one card"); ArrayList<Card> drawedCards = new ArrayList<Card>(); drawedCards.add(game.getDeck().drawCard(game.getDeadDeck())); - game.getController().moveCardFromDeckToAI(this, drawedCards); - System.out.println("deack after draw: " + deck); - } - } + game.getController().moveCardFromDeckToAI(this, drawedCards); + System.out.println("deack after draw: " + deck); + } + } else { System.out.println("choose"); System.out.println("AI chooses: " + getHighestValuedCard(validDeck)); - - + Card playedCard = getHighestValuedCard(validDeck); Color newWishColor = null; - + if(playedCard.getType().equals(CardType.WILD) || playedCard.getType().equals(CardType.DRAW_FOUR)) { - //TODO choose color that is mostly in deck (except black) - Random random = new Random(); - int colorInt = random.nextInt(4) + 1; - switch(colorInt) - { - case 1: newWishColor = Color.YELLOW; - break; - case 2: newWishColor = Color.RED; - break; - case 3: newWishColor = Color.BLUE; - break; - case 4: newWishColor = Color.GREEN; - break; - } + newWishColor = getBestColor(); } - - game.getController().moveAICardToDeadDeck(this, game.getCurrentPlayer(), playedCard, newWishColor); - } + + game.getController().moveAICardToDeadDeck(this, game.getCurrentPlayer(), playedCard, newWishColor); + } } - + private Card getHighestValuedCard(ArrayList<Card> validDeck) { Card highestValuedCard = validDeck.get(0); @@ -204,7 +190,52 @@ public class AI highestValuedCard = currentCard; } } - + return highestValuedCard; } + + private Color getBestColor() + { + int[] times = new int[4]; + + for(Card currentCard : deck) + { + switch(currentCard.getColor()) + { + case YELLOW: + times[0]++; + break; + case RED: + times[0]++; + break; + case BLUE: + times[0]++; + break; + case GREEN: + times[0]++; + break; + default: + break; + } + } + + int maxIndex = 0; + for(int i = 1; i < times.length; i++) + { + int newnumber = times[i]; + if((newnumber > times[maxIndex])) + { + maxIndex = i; + } + } + + switch(maxIndex) + { + case 0: return Color.YELLOW; + case 1: return Color.RED; + case 2: return Color.BLUE; + case 3: return Color.GREEN; + default: return null; + } + } } \ No newline at end of file diff --git a/src/logic/Game.java b/src/logic/Game.java index dca0ec9..4fddf15 100644 --- a/src/logic/Game.java +++ b/src/logic/Game.java @@ -47,9 +47,9 @@ public class Game } else if(numberOfAIs == 3) { - ais.add(new AI("Computer 3", 3, this)); - ais.add(new AI("Computer 1", 1, this)); - ais.add(new AI("Computer 2", 2, this)); + ais.add(new AI("Computer 1", 3, this)); + ais.add(new AI("Computer 2", 1, this)); + ais.add(new AI("Computer 3", 2, this)); } gameCount = 0; -- GitLab