From f161d325a9b5e42baeaa199e6af196dfc691b35c Mon Sep 17 00:00:00 2001 From: Zening Li <zeningl@student.unimelb.edu.au> Date: Thu, 20 May 2021 10:34:28 +1000 Subject: [PATCH] log generator --- Cribbage/cribbage.log | 8 +++++ .../Cribbage/cribbage/Cribbage$1.class | Bin 812 -> 812 bytes .../cribbage/Cribbage$MyCardValues.class | Bin 1919 -> 1919 bytes .../Cribbage/cribbage/Cribbage$Rank.class | Bin 1794 -> 1794 bytes .../Cribbage/cribbage/Cribbage$Segment.class | Bin 1380 -> 1380 bytes .../Cribbage/cribbage/Cribbage$Suit.class | Bin 1184 -> 1184 bytes .../Cribbage/cribbage/Cribbage.class | Bin 14222 -> 14971 bytes .../Cribbage/cribbage/LogGenerator.class | Bin 0 -> 1296 bytes Cribbage/src/cribbage/Cribbage.java | 25 ++++++++++++-- Cribbage/src/cribbage/LogGenerator.java | 32 ++++++++++++++++++ 10 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 Cribbage/cribbage.log create mode 100644 Cribbage/out/production/Cribbage/cribbage/LogGenerator.class create mode 100644 Cribbage/src/cribbage/LogGenerator.java diff --git a/Cribbage/cribbage.log b/Cribbage/cribbage.log new file mode 100644 index 0000000..9c8820e --- /dev/null +++ b/Cribbage/cribbage.log @@ -0,0 +1,8 @@ +seed,55510 +cribbage.RandomPlayer,P0 +cribbage.RandomPlayer,P1 +deal,P0,[2C,2H,7C,QC,QD,KH] +deal,P1,[AD,AH,TD,JS,QH,KC] +discard,P0,[2C,QC] +discard,P1,[JS,KC] +starter,8H diff --git a/Cribbage/out/production/Cribbage/cribbage/Cribbage$1.class b/Cribbage/out/production/Cribbage/cribbage/Cribbage$1.class index b636d7c25768c7e14e9facd6fddfbb332c9f861f..a147958a39f3d8d4f821a8a9067d4cd3a3a31377 100644 GIT binary patch delta 13 UcmZ3(wuWuPIVMK!$>*730V7rf(f|Me delta 13 UcmZ3(wuWuPIVMJ($>*730V7)k(*OVf diff --git a/Cribbage/out/production/Cribbage/cribbage/Cribbage$MyCardValues.class b/Cribbage/out/production/Cribbage/cribbage/Cribbage$MyCardValues.class index 7f88f19f23e274ea9f17e6786740ec458e7e9fe9..fd620cdab36aae8688b2641dad70484ff1e0caa1 100644 GIT binary patch delta 25 hcmey*_n&V=5*wq<<Ycx8M!U&-*n$}CCiAlw004G>2m$~A delta 25 hcmey*_n&V=5*wrK<Ycx8M*GQo*n$}CC-bux004HN2n7HD diff --git a/Cribbage/out/production/Cribbage/cribbage/Cribbage$Rank.class b/Cribbage/out/production/Cribbage/cribbage/Cribbage$Rank.class index 16191b6bcfbdc9d188c27062d7e8b7ff8834c356..9b0414c05acf17d1611d7f441ef9cd299f7afef0 100644 GIT binary patch delta 54 zcmZqTYvS85orO_i@(dPzMv2KMSUh=U8Q2))7`Pea83Y*=Cd;v|W0cr@mX(c>Rf^#j KgT&+;Y+3+OgA4)y delta 54 zcmZqTYvS85orO_y@(dPzM#;%1SUh><7}yx(8Mqk~7z7y<C(E&}W0c%{mX(c>Rhr=z KgXH8JY+3+PXABDf diff --git a/Cribbage/out/production/Cribbage/cribbage/Cribbage$Segment.class b/Cribbage/out/production/Cribbage/cribbage/Cribbage$Segment.class index c29a01eb38b299c3fdb4558b0fcae0c623362058..15eaecc4b144ba1962aff3b0f0d9eb0db13d2b88 100644 GIT binary patch delta 43 zcmaFD^@M9fDhuPo$!RRTk}nv97+x}%GQ482VR+5p$nb{2jo~eWH^aNhJggA_P)-gx delta 43 zcmaFD^@M9fDhuP4$!RRTlD8Rz8168bGTddbVYtWO$Z(&*jo|@<H^alpJggA_NPG>^ diff --git a/Cribbage/out/production/Cribbage/cribbage/Cribbage$Suit.class b/Cribbage/out/production/Cribbage/cribbage/Cribbage$Suit.class index 0feeb133f36e5eb1aad4401e9c03d61c2ce33e29..e6a85e089e9a8805170c3ac5f5cb24ea0c0b61f3 100644 GIT binary patch delta 41 xcmZ3$xqx$n3p1n0WLIW=Mv=*-%yx_-leaL(Fp5kTWJzEZWiVk7nOw%A1pw302{-@% delta 41 xcmZ3$xqx$n3p1nWWLIW=M$yTo%yx{TleaL(Fp5qVWJzEZV=!S5om|GE1pw4P2|fS- diff --git a/Cribbage/out/production/Cribbage/cribbage/Cribbage.class b/Cribbage/out/production/Cribbage/cribbage/Cribbage.class index 4e8c9da01b16425c21278d4f249537f8e8c10bda..e2ceda0a8d6876c7363284db3c0881cf5e589609 100644 GIT binary patch delta 7434 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 delta 6693 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 F2>=S3aLWJy diff --git a/Cribbage/out/production/Cribbage/cribbage/LogGenerator.class b/Cribbage/out/production/Cribbage/cribbage/LogGenerator.class new file mode 100644 index 0000000000000000000000000000000000000000..cc7d45b71d7f8103957aa6174f635d01805be96e GIT binary patch literal 1296 zcmX^0Z`VEs1_lcTUoHkF24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00S4h9ZJ2A<@i%%r5m^i;i^{B%wRE(UIP1|A*;UIso!22q%tzE6I-dum>4 zQDRAc5hDXfL1IaUUt(@5BZH6+!jj;UqRhN>Yjy?!Mg|_RaAv-~TV_rw7Xv?o5Xe!& zj0~b0m^w7WKq^Fe7{nOF85!78D>92qiotG-0!c{nFi3$VQc`nLOTebd@G!`Ngm{yS zQWHy3{Zh+8_OLU^GcpK+Z3g?=wIVsSpd>RtkBdQ$L6L_+2^1>)1x1;8CBY?$$=M-A ziOH$#3@VHaLSRi$=Y|($mZTPOF(@;rfgG*Q$RLKr(NUUV><pTW3}P^?PNivSsYR(N zFzp%)+92&Zj10n1?V0)d5J_v0k2M(dco_5<gc%uF%Rx4BF=#Lt@-P^I9Lb)STJDpX zmkJUy;bAZZiLoZ<<QJ#1Gnm8tn3=Ed>5t?`GX_OQ1{UZ1lvG9revodz(%hufqL9R- z9B@qKCnx5FB^G6Z_)tNXl8nq^Mh0;otTAoP$iSZtiS|^V{B%$dGcvHGWrB?3gG3`V z$gCL|7*iP;L?MExfp5*ozzYs;-^2o_wH#m%`{buHGH`*6gM<nrg9t=F)KG}1H6sIG z5=ziAGDyJHp$57&+zF^*W6j9GTwGGb$iNkxUs{x$3h{{`a;nw?MI(bE11JwMFfcMO zfU*Ds0|PSyBPcg9Ffv#&Ffdp$FoET`wYD=bY6-D#W#HV%z`(%7V8y@y)yl!Z!obB~ z&A`CG15wIg!(ht*GSZHL4Qk9x24)5(1_lPr-3<JZT3Z-6w=)R(Xm4W>naRMdy^TR4 zd^rP$_BIA-5DgMn*a$XCfkBx;j)56$nG^#X0|Nse0}lf~gD`^tgEWH>g93vHg9d{r z*m4C1W(FPx5e9n(2L?t46$TatM+PUbDVk6RIWsUY2r#hxVUT8L;Qz(I;>6A%$HKtK z;KCpbb>?aY76uju1_qto49Z|<vTSEi_1(>&5vjACLCa59dmDqU?luMk-E9oU%NaO) zb+$2BKwPTKpvGVZb*UT!I|BoQBm*yl6oVLpG=nsQ41+v_EZ8sF4Dw*tnlP|3@G^)o zxH7mgFfoWR@G`hFcrY+CsDs_@2@WhBsJj^$bQruC_!t-&Kt5n+U`k_WFatT<8ypip E0NFka4FCWD literal 0 HcmV?d00001 diff --git a/Cribbage/src/cribbage/Cribbage.java b/Cribbage/src/cribbage/Cribbage.java index 5fb1105..874ec0d 100644 --- a/Cribbage/src/cribbage/Cribbage.java +++ b/Cribbage/src/cribbage/Cribbage.java @@ -8,8 +8,7 @@ import observer.*; import java.awt.Color; import java.awt.Font; -import java.io.FileReader; -import java.io.IOException; +import java.io.*; import java.lang.reflect.InvocationTargetException; import java.util.*; import java.util.stream.Collectors; @@ -135,6 +134,9 @@ public class Cribbage extends CardGame { static private final IPlayer[] players = new IPlayer[nPlayers]; private final int[] scores = new int[nPlayers]; +static private final LogGenerator logGenerator = new LogGenerator(); +private final String[] playerName = {"P0", "P1"}; + final Font normalFont = new Font("Serif", Font.BOLD, 24); final Font bigFont = new Font("Serif", Font.BOLD, 36); @@ -175,6 +177,9 @@ private void deal(Hand pack, Hand[] hands) { hands[i].sort(Hand.SortType.POINTPRIORITY, true); } layouts[0].setStepDelay(0); + //log + logGenerator.writeLog("deal,P0," + canonical(players[0].hand)); + logGenerator.writeLog("deal,P1," + canonical(players[1].hand)); } private void discardToCrib() { @@ -184,11 +189,18 @@ private void discardToCrib() { crib.setView(this, layout); // crib.setTargetArea(cribTarget); crib.draw(); + Hand dPlayer = new Hand(deck); //discarded cards. for (IPlayer player: players) { for (int i = 0; i < nDiscards; i++) { transfer(player.discard(), crib); } + dPlayer.insert(crib.get(crib.getNumberOfCards()-1), false); + dPlayer.insert(crib.get(crib.getNumberOfCards()-2), false); + dPlayer.sort(Hand.SortType.POINTPRIORITY, false); crib.sort(Hand.SortType.POINTPRIORITY, true); + //log + logGenerator.writeLog("discard," + playerName[player.id] + "," + canonical(dPlayer)); + dPlayer.removeAll(false); } } @@ -200,6 +212,7 @@ private void starter(Hand pack) { starter.draw(); Card dealt = randomCard(pack); dealt.setVerso(false); + logGenerator.writeLog("starter," + canonical(dealt)); transfer(dealt, starter); } @@ -308,7 +321,7 @@ void modifySubject(HandCards playersHandCards){ playersHandCards.addRule(fifteens); playersHandCards.addRule(runs); playersHandCards.addRule(pairs); - //playersHandCards.addRule(flush); + playersHandCards.addRule(flush); playersHandCards.addRule(jack); } @@ -381,6 +394,12 @@ public Cribbage() players[1] = (IPlayer) clazz.getConstructor().newInstance(); // End properties + //log + logGenerator.generateLogFile(); + logGenerator.writeLog("seed," + SEED); + logGenerator.writeLog(cribbageProperties.getProperty("Player0") + ",P0"); + logGenerator.writeLog(cribbageProperties.getProperty("Player1") + ",P1"); + new Cribbage(); } diff --git a/Cribbage/src/cribbage/LogGenerator.java b/Cribbage/src/cribbage/LogGenerator.java new file mode 100644 index 0000000..be03ef4 --- /dev/null +++ b/Cribbage/src/cribbage/LogGenerator.java @@ -0,0 +1,32 @@ +package cribbage; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; + +public class LogGenerator { + + String pathName = "cribbage.log"; + + public void generateLogFile(){ + try { + File file = new File(pathName); + if (file.exists()){ + file.delete(); + } else { + file.createNewFile(); + } + }catch (Exception e){e.printStackTrace();} + } + + public void writeLog(String str){ + try { + FileWriter fileWriter = new FileWriter(pathName, true); + BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); + bufferedWriter.write(str); + bufferedWriter.newLine(); + bufferedWriter.close(); + }catch (IOException e){e.printStackTrace();} + } +} -- GitLab