发牌老方法记录
来源:互联网 发布:算术探索 知乎 编辑:程序博客网 时间:2024/06/05 17:48
//Fight against landlordspackage palycard.falandord;public class PlayCard { // 牌类 private final String Card[] = { "红桃3", "黑桃3", "梅花3", "方块3", "红桃4", "黑桃4", "梅花4", "方块4", "红桃5", "黑桃5", "梅花5", "方块5", "红桃6", "黑桃6", "梅花6", "方块6", "红桃7", "黑桃7", "梅花7", "方块7", "红桃8", "黑桃8", "梅花8", "方块8", "红桃9", "黑桃9", "梅花9", "方块9", "红桃10", "黑桃10", "梅花10", "方块10", "红桃J", "黑桃J", "梅花J", "方块J", "红桃Q", "黑桃Q", "梅花Q", "方块Q", "红桃K", "黑桃K", "梅花K", "方块K", "红桃A", "黑桃A", "梅花A", "方块A", "红桃2", "黑桃2", "梅花2", "方块2", "小王", "大王" }; public String U1[] = new String[18]; public String U2[] = new String[18]; public String U3[] = new String[18]; // 将数组中null值往后放,前面只有一个null的时候方法成立 private void zeroNull(String X[]) { for (int i = 0; i < X.length - 1; i++) { if (X[i] == null) { X[i] = X[i + 1]; X[i + 1] = null; } } } // private int rdmIndex(int i) { int a = i - 1; a = (int) (Math.random() * i); return a; } // 平均发牌给三个用户 private PlayCard allotCard(String[] X) { PlayCard pc = new PlayCard(); String[] N = X.clone(); int I = N.length; int index = 0; for (int i = 0; i < pc.U1.length; i++) { index = rdmIndex(I); pc.U1[i] = N[index]; N[index] = null; zeroNull(N); I--; index = rdmIndex(I); pc.U2[i] = N[index]; N[index] = null; zeroNull(N); I--; index = rdmIndex(I); pc.U3[i] = N[index]; N[index] = null; zeroNull(N); I--; } washCard(pc.U1); washCard(pc.U2); washCard(pc.U3); return pc; } // 显示 private void show(String[] X) { System.out.println(); for (int i = 0; i < X.length; i++) { System.out.print(i + "\t"); } System.out.println(); for (String string : X) { System.out.print(string + "\t"); } System.out.println(); } // 显示牌 private PlayCard showCard(String[] X) { PlayCard pc = allotCard(X); System.out.println("\n玩家一:"); show(pc.U1); System.out.println("\n玩家二:"); show(pc.U2); System.out.println("\n玩家三:"); show(pc.U3); return pc; } // 返回卡牌的排位 private int indexArr(String[] X, String x) { int in = -1; for (int i = 0; i < X.length; i++) { if (x.equals(X[i])) { in = i; break; } } return in; } // 把每个人手里的牌按照顺序排列 private void washCard(String[] X) { PlayCard c = new PlayCard(); for (int j = 0; j < X.length + 1; j++) { for (int i = 0; i < X.length - 1; i++) { int in1 = indexArr(c.Card, X[i]); int in2 = indexArr(c.Card, X[i + 1]); if (in1 > in2) { String ex = X[i]; X[i] = X[i + 1]; X[i + 1] = ex; } } } } // 数组里面每一个字符串的最后一位 private String[] endArray(String[] X) { String[] x = new String[X.length]; for (int i = 0; i < x.length; i++) { x[i] = X[i].charAt(X[i].length() - 1) + ""; } return x; } // private void countSame(String[] X) { int count = 1; String mid = X[0]; for (int i = 1; i < X.length; i++) { if (mid.equals(X[i])) { count++; } else if (count > 1) { System.out.println(count + "个" + X[i - 1]); mid = X[i]; count = 1; } } /* * for (int i = 0; i < X.length - 1; i++) { if (X[i].equals(X[i + 1])) { * count++; } if ((!X[i].equals(X[i + 1]) || i == X.length - 2) && count * >= 2) { if (X[i - 1].equals("0")) { System.out.println(count + "个1" + * X[i - 1]); count = 1; } else if (i != X.length - 2) { * System.out.println(count + "个" + X[i - 1]); count = 1; } else { * System.out.println(count + "个" + X[i + 1]); count = 1; } } } */ } // public void analyze(String[] X) { // 最大牌 System.out.println("最大牌:\t" + X[X.length - 1]); // 最小牌 System.out.println("最小牌:\t" + X[0]); countSame(endArray(X)); } public void analyzeAll(PlayCard pc) { System.out.println("\n\n玩家一:"); analyze(pc.U1); System.out.println("玩家二:"); analyze(pc.U2); System.out.println("玩家三:"); analyze(pc.U3); } // public static void main(String[] args) { PlayCard pc = new PlayCard(); pc = pc.showCard(pc.Card); pc.analyzeAll(pc); }}
0 0
- 发牌老方法记录
- 3G八卦之中国老不发牌原因
- int 和 String 互相转换的多种方法~老忘,这里记录一下
- 记录一下老记不住的代码(1):getView()方法
- 看记录老郁闷的。
- InnoDB记录结构浅析(摘自老杨)
- 和老李交流的记录
- 老毛桃安装系统方法
- ViewPager+Fragment+RadioGroup 老方法
- photoshop修复老照片方法
- 扑克牌发牌
- C#发牌
- 发牌程序
- 发牌+排序
- 发牌游戏
- 发牌问题
- 魔术师发牌
- 8612 发牌
- Habber - IOS XMPP 客户端 教程 (零)简介与源码下载
- Tomcat及各种错误
- 我的Android
- 记一次Zabbix(Server)安装过程
- Linux下添加PATH环境变量
- 发牌老方法记录
- 简介UDP
- JDBC的简单介绍
- android HOME、back(按钮、事件)截取获得,综合解决方案和分析,包含android4.0系统
- 解密Java IO流中的flush()方法的由来
- JGit 如何实现
- 根据tt文件模板自动生成代码
- 数据挖掘十大算法翻译——8kNN(k邻近分类)
- mysql 服务无法启动,错误代码2:无法找到指定文件