package game.bull; import java.io.*; import java.util.*; public class Dispatcher { /*玩家当前拥有的积分数*/ private long masterCredit; private long guest1Credit; private long guest2Credit; private long guest3Credit; /*用一个52个数的整形数组表示一副牌 *每个数字与牌之间的对应关系如下 * 1 - 13 :黑桃A,2,3,4,5,6,7,8,9,10,J,Q,K * 14 - 26 :红心A,2,3,4,5,6,7,8,9,10,J,Q,K * 27 - 39 :梅花A,2,3,4,5,6,7,8,9,10,J,Q,K * 40 - 52 :方块A,2,3,4,5,6,7,8,9,10,J,Q,K */ private int[] totalCardArr; /*发到玩家手头上的牌*/ private int[] masterCardArr; private int[] guest1CardArr; private int[] guest2CardArr; private int[] guest3CardArr; /*一句结束玩家的输赢情况*/ private long masterWin; private long guest1Win; private long guest2Win; private long guest3Win; private FileWriter resultWriter; public Dispatcher(){ totalCardArr = new int[52 + 1]; for(int cardIndex = 1; cardIndex <= 52; cardIndex++){ totalCardArr[cardIndex] = cardIndex; } this.masterCredit = 1000000; this.guest1Credit = 1000000; this.guest2Credit = 1000000; this.guest3Credit = 1000000; masterCardArr = new int[5 + 1]; for(int cardIndex = 1; cardIndex <= 5; cardIndex++){ masterCardArr[cardIndex] = 0; } guest1CardArr = new int[5 + 1]; for(int cardIndex = 1; cardIndex <= 5; cardIndex++){ guest1CardArr[cardIndex] = 0; } guest2CardArr = new int[5 + 1]; for(int cardIndex = 1; cardIndex <= 5; cardIndex++){ guest2CardArr[cardIndex] = 0; } guest3CardArr = new int[5 + 1]; for(int cardIndex = 1; cardIndex <= 5; cardIndex++){ guest3CardArr[cardIndex] = 0; } this.masterWin = 0; this.guest1Win = 0; this.guest2Win = 0; this.guest3Win = 0; try{ resultWriter = new FileWriter("c://result.txt"); } catch(Exception exp){ exp.getStackTrace(); } } public void finalize(){ try{ resultWriter.close(); } catch(Exception exp){ exp.printStackTrace(); } } public void play(int _times){ int times = _times; for(; times > 0; times-- ){ swapCard(); distributeCard(); judgeResult(); saveGame(); } } public void outputResult(){ System.out.println("模拟统计结果如下:"); System.out.print("庄家剩余积分为:"); System.out.println(this.masterCredit); System.out.print("友家1剩余积分为:"); System.out.println(this.guest1Credit); System.out.print("友家2剩余积分为:"); System.out.println(this.guest2Credit); System.out.print("友家3剩余积分为:"); System.out.println(this.guest3Credit); } /** * 洗牌 * */ private void swapCard(){ int shutfleTimes = 3; int drawTimes =3;