Skip to content
Snippets Groups Projects
Commit f161d325 authored by Zening Li's avatar Zening Li
Browse files

log generator

parent 3aa3e36b
Branches
No related tags found
No related merge requests found
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
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
File added
......@@ -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();
}
......
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();}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment