From 1ed7b3f486e5c3bc9a3636a8cf5d4aafd5620f71 Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Sun, 7 Nov 2010 03:11:36 +0000 Subject: [PATCH] fixes and new server plugins --- .../src/main/java/mage/client/cards/Card.java | 2 +- Mage.Deck.Constructed/pom.xml | 4 ++-- Mage.Server/config/config.xml | 14 +++++++------- Mage.Server/plugins/mage-deck-constructed.jar | Bin 0 -> 3190 bytes Mage.Server/plugins/mage-game-freeforall.jar | Bin 0 -> 4384 bytes .../plugins/mage-game-twoplayerduel.jar | Bin 0 -> 3956 bytes Mage.Server/plugins/mage-player-ai.jar | Bin 0 -> 28440 bytes Mage.Server/plugins/mage-player-aiminimax.jar | Bin 0 -> 36353 bytes Mage.Server/plugins/mage-player-human.jar | Bin 0 -> 10351 bytes .../src/mage/server/game/GameController.java | 17 +++++++++++++---- 10 files changed, 23 insertions(+), 14 deletions(-) create mode 100644 Mage.Server/plugins/mage-deck-constructed.jar create mode 100644 Mage.Server/plugins/mage-game-freeforall.jar create mode 100644 Mage.Server/plugins/mage-game-twoplayerduel.jar create mode 100644 Mage.Server/plugins/mage-player-ai.jar create mode 100644 Mage.Server/plugins/mage-player-aiminimax.jar create mode 100644 Mage.Server/plugins/mage-player-human.jar diff --git a/Mage.Client/src/main/java/mage/client/cards/Card.java b/Mage.Client/src/main/java/mage/client/cards/Card.java index 01a9a11bf8d..6152f40843b 100644 --- a/Mage.Client/src/main/java/mage/client/cards/Card.java +++ b/Mage.Client/src/main/java/mage/client/cards/Card.java @@ -147,7 +147,7 @@ public class Card extends MagePermanent implements MouseMotionListener, MouseLis } public void update(PermanentView permanent) { - this.update(permanent.getOriginal()); + this.update((CardView)permanent); } public void update(CardView card) { diff --git a/Mage.Deck.Constructed/pom.xml b/Mage.Deck.Constructed/pom.xml index 04a43c87d0d..72d17df068d 100644 --- a/Mage.Deck.Constructed/pom.xml +++ b/Mage.Deck.Constructed/pom.xml @@ -10,7 +10,7 @@ org.mage - Mage-Deck-Contructed + Mage-Deck-Constructed jar 0.3 Mage Deck Constructed @@ -45,7 +45,7 @@ - mage-deck-contructed + mage-deck-constructed diff --git a/Mage.Server/config/config.xml b/Mage.Server/config/config.xml index 23a34d273b1..6a1d2e8a3c2 100644 --- a/Mage.Server/config/config.xml +++ b/Mage.Server/config/config.xml @@ -3,16 +3,16 @@ - - - - + + + + - - + + - + diff --git a/Mage.Server/plugins/mage-deck-constructed.jar b/Mage.Server/plugins/mage-deck-constructed.jar new file mode 100644 index 0000000000000000000000000000000000000000..4b38df4c7eaf8657656e9d1512be1636081a2cf2 GIT binary patch literal 3190 zcmbW42{@GP8pkJ0m?CSREEPs5V~t3bk!8l9v1W(a}XLtp*2%_j|J83&Dh|x*LkJ8JY+0op3K}HRZLlGe8UVQwJ~hy-UBxjrBg^F4sBElP6RE=&Du8%ry(Q zEC?IWdO{t=4u6m3oD7_iANGXr=M=8;?&mhwa*pwLQtAAcepruo8ZoZ0Zt4qJG$W_x zV*o=^)n3@EVfJU!FZN52R#UL@5T~=IQL|aTii1yD`qV4DPN+eHqkYkL60ai#+!H^o zuln(+ACpOeC*2BA?izRLItoEHw;X|2M&*3bC-%7pL9d)XLAT>xT%A+dNK1+ z2oE9+^n2ZT9P~8`j42)H1WBi733`wYM#RBqT^zfXiIYJG>p&{jdXr0omZ9I2Dhq9 z6>M0NLP*2q3T+K?7w;!(u4pASzJB4K?STXOX&!*X1Xxx%B)#LWq)ftJ8Nl!@Tn)7)aAYUW05{}OEA>uRSgZ@ zT%<}eAWDwFB;muw+iZ1ZM9@ey-U@|ho(**jx67jvL-!C3)(h%Kxq_R`0DVl4KZRnV zTSQ_Nd1PZ1CNlEeo=6n)?2<~Z=dIHX=@9-jJ;GKOBWo3YlGkIIPxKI5d3E*uj+A*p z*9B32jTJ#4a2)gkBp)*V<~*6VV6V<;ar{viNwy=ao{7(x*MM8B`C0BahT z75{cFJPs>O#A4#jhTZ#RIf4_`LEN9++6>$HpbKrS_Fb3=EE=biE_2J;Mm{B*d}Vc3 z749n%fVG@EJu_4Lb*9<*rBSK)h?3g9_~X58dhWG~!jS&3cB|$k(Fy(DiT++TN^4x5 z&@k{W8o`r27;R#ucEd1+rZK2l%mW#N<%@V%6GL|*7FdnbPUf@mxX!PK$sE?xy+wt5XgATk)I4n1(x5RuI)6BK~t~xXtun6eE6jW z=0LRz#j+^9GELjAEV9S<^j{+NWR#yn0cwJ^%=v*VfBK+urNBsMpI#*5m0C6Od5kB^ zTDzO@hfguC&5Btqlw7d;V{UT7;T(>oOvZ&8$ze-%G3iVxyc#dz@Uf(Gq0loEM9)de z+ah&!0e|@mnpbk_zkb{&n;Bvxs=_D6J@#yGeEx_0KMdan953k=^thxudTiB%|G6Yd zH8oNL(>wnF$sNV|l*6ljDzG8yNljFvrNND|n3C)yikoV8XouFD`7YxzWhyB0VeBn_ z=z|m+kW(d4AvMn&I8N0&PC|8Ot?2~WBJgoQ~%cn!+YWIXfJ{*+MDh9 z9nce54nUV0ejVRM5sNQIzDMZ@P8Vq4i<~8z$mc3{tq+yq{Cna>_eh>uS{sFtL^G%1 zv59Hjxm}bQ;!Ih?hdC{0n>|PFV!UG?V%hD($w3d#1f_HZO3LzaK>|0^KZp`S;bR&m})9#yL+uF3P3_BYn zdJpy8=nMaYHvK_~Ev@u!aKni{ey@N&qlb*r#_b)}M%=G^EP52($YHFzw#RLw%J+_I zyXK!kMQ7o6;{dF$m(WVsta^it8!CRy#;xGqox$5k`THz%R&Hfs+r2}=W|rTPb0hb! z*}0LO9A@>mbN?Xe)*Jlw>DgMMhSmW8^alTjeEJewX9lh4bkZo+)m$4SosKGSE7+aWYDKRA3U7<;2Df_Z`_jmJ?ehX{mwl9<$3<+{LVS=yzlRvV`@nC8!cc@CaSK${(Sja>xJJV+0$u3pNRWaAi6qZsB%|eQh0QUy6G$;AMb&uN+?xmB1Grcx55*%M^|{ptiHRA_0h=So9E%gO+gV z(!lA%Jf$qq$NOH8lA`#k3hG#B4#e~SM@d=suJH=Vep zj~|Lp@Pa&<8>XecH`MWI0o|X220eOw0=7^St%e%oruCoh!4bh%ufJ@>qWEkjH{i|Z zWL_4z_(O5|mSr}X*cV@%d!7wPN;vz9T&fzS-+m_Y;Y|VIek!;|gy^~bB4ZbcEwd>a zelt0vi0?EKFwBQ}MY~8R4klq1?^F^%+1HC=OIM~P`{Vra9LrX`Z=7Ug?w7xrd!^rB zWy01l8<2)eJ%3gct7M61Gv<)rr+ywJ?en80@JZA>b$V|k+dmx zl@&pIIC3z)RSwH~t^2pgU@X{s%5|4wrN4k33{B=Jj7&Fp6op{1eN1JcaLPboUR=&x zD54_ts;OU}O$IFCQJa0~*xTM@IXzij)eE}TWk+r|8nVC$EqK*65Y<4b3OYArFWb=;AT6Cl5^W7Txv8%Sbw3pl@` z8=g!82eo^qkQCEUt43Rt{mCSeAk^5PXxh_;2qMi?HR*oD^zzMM;yn_Tovg>%mUm4# z5qC@4AlaB{#eiH9qSw23fhf>}N*GYuVWgFR8T3K<;=G5mf^E$l<0c+SRh&$M+M%w8 zLtm)WnvF}7BtXRoDf7F|K>nL;@XGbpCL+s1fS144c$0AzHKKx14OBtV-&?>SxF!p% z_6N?JiV_yur74)^Ua8P1j1=)YycUNHSp{HrkQ47--wn=daBH4e(N-2J=cy_qe1S!r zPn&74(ame-bAwjSPfNlJEBuv)o&-j`K>#cHrER~Omz2V7+~jFYY+u6Qv!}8hvCycm zi3E^SHPpgAu*btN_=zHVxV&KlR}^+`ymQN<$lful_5((KLR}e3pT;WG?MNq^tJkA+ z8aHBJS!b9(^~WC#2#b-?k8u;F1!zQ3t8A=Z^{uQBF360uz5`tdIR5H|wucZof?h?L zt(>^m85>^TX9o3+_YTzzLiqUP$u8iuAxe6AI}ji|s6!?pZrRdX8U8k>7BRcj)5qKy{-olEA4W za!Pb|RqBI3KN!j5h`HjSCgi|VS%db72jQvx-iJKrW})L&$liU~$Y36gG`-tXaymJv`MqycoACFA+RCz+1$p&5$N?(0#8Uj^T;rOV?| zwQcPS&_mVbTKzcQ?vXBTP*KuQ2Ti?7-liDoUhb4aW_^M8K)>mkP_I9PDZ6pzSsgH% zC((gN`Rx4{{i0egOG=q8Asf`hqHhmGHLa!g8J(=v_2jlpW|oY`Ah9%q1HN(v;=awI zZR^WtZnMGNkYcSStB`Y}+mo@Rq!aDfC`VkK+?`dP&=KoqDi*HuiF~taoz!2Y$9-yf zCmg7JUB~)(pYsc(2Olr7iYXC}nE*U#p+=Twa3-DXSr|6*#S?haTCZYGBpVl64~n%C zsvgJ;vB{}?#ZO|R((}Wv<&_c*Y|f@qOe-x+)>|(>$O;fA*BXO7;)fP45p_{vRt~n_pM;Yh+u3JO_pF= zg`C#@8`23C7FyGcIAsJh)bn7Xzc8$I1UjU_STEMp zuCzXLW<4&0-sK%(Yj|L0?(x%i?7!}$$Q{r@ABaKvpxl1^rH6Yej>F1WPqftk=)@p@ zV`WTk;vl-@4h?e9dHo2029RHQ1*V_l@sW+ZpKQoYpX@({a>rt%{4lOjmI#*-8J584 z>-b~-l~XyWJL#N9g&dx{h7>wrwG*%xuT?n;E9!G@F4o7-X|2C4i4A{O?6uHg=Je>b zko!Hp5uMcP9%`3*IRVH>NUu!?iE7edaI$9_Qri{TU>(-GHgL;gecZkC_@FBG9E;Ut z$NIViTa_g6g|(=nWP)tl?aJi^+qM)|gB@zbhIyE;j|Y<2?3`E{UzlVM5aMg0Hl(LM#xdM-$mGlP z0$)=4&bW#dxQN|p^Dat#+pD8e-wekdgwA%!+Y0Jn* z+u2POcSKBcCe3oWc5(!D%uM3^=zEiZ7#E*unbNQ(Y#RUY>)zZ3ph=$iqvd++y*UOE zkn*domqfvRGm@9Pveld^!#YL`CIrNC#=Equ}bk*rto1ds1quEa?L@XmFg8&M$w zsGFVRixoyYl>4XR8+WC(^Z`A|`^%erDgQtF%-s{~j`H+&MtL!GHq+izKLL2Y*|hWY z1{(FYBxFoLEIS18kvfOKrr~RUk$qz`pu_4jbDKiftzv#gf{2nBA7QD8b2jw-nQNo5 z9iOHm(ikUCMiwTtC*@^^T&@emI^?tE;X@QI8@>!DI`<=E%BHou`?QoQS5=frRHlX$ zlq^)g9`(rikmUqmUSse1m%(q}?B}E3p7Ne#1%t@1^mk%DSihei!UGR{42Rb5#}fQB_&pB?N7B^r$k9D8I`U6|3ILcT I!vO&Q0mdfmvj6}9 literal 0 HcmV?d00001 diff --git a/Mage.Server/plugins/mage-game-twoplayerduel.jar b/Mage.Server/plugins/mage-game-twoplayerduel.jar new file mode 100644 index 0000000000000000000000000000000000000000..bb624d77c9abda13a7839e91c3265c217bd28c3c GIT binary patch literal 3956 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 literal 0 HcmV?d00001 diff --git a/Mage.Server/plugins/mage-player-ai.jar b/Mage.Server/plugins/mage-player-ai.jar new file mode 100644 index 0000000000000000000000000000000000000000..5c76adf3868aa0f2bd824e0b17f976dc5a7f3b1c GIT binary patch literal 28440 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 S1Ovl<`m{W4iJAZW@Baasz!UNS literal 0 HcmV?d00001 diff --git a/Mage.Server/plugins/mage-player-aiminimax.jar b/Mage.Server/plugins/mage-player-aiminimax.jar new file mode 100644 index 0000000000000000000000000000000000000000..bbf31e476ad820435ab10464f3b87bbd69391de2 GIT binary patch literal 36353 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 * 5. Exit
*/ - private void addCardsForTesting(Game game, Player player) { + private void addCardsForTesting(Game game) { try { File f = new File(INIT_FILE_PATH); Pattern pattern = Pattern.compile("([a-zA-Z]*):([\\w]*):([a-zA-Z ,.!\\d]*):([\\d]*)"); @@ -403,7 +403,7 @@ public class GameController implements GameCallback { return; } - logger.info("Parsing init.txt for player : " + player.getName()); + //logger.info("Parsing init.txt for player : " + player.getName()); Scanner scanner = new Scanner(f); try { @@ -416,7 +416,8 @@ public class GameController implements GameCallback { String zone = m.group(1); String nickname = m.group(2); - if (nickname.equals(player.getName())) { + Player player = findPlayer(game, nickname); + if (player != null) { Zone gameZone; if ("hand".equalsIgnoreCase(zone)) { gameZone = Zone.HAND; @@ -471,4 +472,12 @@ public class GameController implements GameCallback { } logger.info("Added card to player's " + zone.toString() + ": " + card.getName() +", player = " + player.getName()); } + + private Player findPlayer(Game game, String name) { + for (Player player: game.getPlayers().values()) { + if (player.getName().equals(name)) + return player; + } + return null; + } }