Java学习--模拟斗地主发牌程序
2018-11-29 10:05
387 查看
public class PokerGame { public static void main(String[] args) { //A: //案例演示: //模拟斗地主洗牌和发牌看牌,牌没有排序 //创建牌盒子 ArrayList<String> pokerBox = new ArrayList<>(); //生成54张牌 放进牌盒 String[] colors = {"♥", "♠", "♣", "♦"}; String[] nums = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"}; for(String num:nums){ for(String color:colors){ pokerBox.add(color.concat(num)); } } //手动添加大小王 pokerBox.add("☀"); pokerBox.add("🌙"); //洗牌 Collections.shuffle(pokerBox); Collections.shuffle(pokerBox); Collections.shuffle(pokerBox); //创建三个人的集合,和一个底牌集合 ArrayList<String> 曾志伟 = new ArrayList<>(); ArrayList<String> 吴宗宪 = new ArrayList<>(); ArrayList<String> 周星驰 = new ArrayList<>(); ArrayList<String> 底牌 = new ArrayList<>(); //发牌 给三个人还要留三张底牌 // 0 3 6 9曾志伟 索引%3==0 // 1 4 7 10吴宗宪 索引%3==1 // 2 5 8 11周星驰 索引%3==2 for(int i=0;i<pokerBox.size();i++){ //留底牌 if(i>=pokerBox.size()-3){ 底牌.add(pokerBox.get(i)); } else if (i % 3 == 0) { 曾志伟.add(pokerBox.get(i)); } else if (i % 3 == 1) { 吴宗宪.add(pokerBox.get(i)); } else if (i % 3 == 2) { 周星驰.add(pokerBox.get(i)); } } //看牌 lookPoker("曾志伟", 曾志伟); lookPoker("吴宗宪", 吴宗宪); lookPoker("周星驰伟", 周星驰); lookPoker("底牌", 底牌); } private static void lookPoker(String name, ArrayList<String> list) { System.out.println(name); for(String porker:list){ System.out.print(porker+" "); } System.out.println(); } }
相关文章推荐
- JAVA学习第六十课 — UDP协议 &基于多线程模拟简单的QQ聊天程序
- Java学习笔记34(集合框架八:综合案例:模拟斗地主的洗牌发牌)
- java学习笔记(二十五)模拟斗地主发牌与洗牌
- 用java编写模拟斗地主洗牌发牌程序
- Java 学习笔记 (7) - GUI编程之Java小程序 Applet
- [每日学习笔记][2012.07.10]使用Java理解程序逻辑(六)
- WinForm学习(1) --简单的模拟时钟程序
- JAVA学习 三(重构程序)
- Java 编程学习(一) 了解Java程序
- Java学习笔记(一)——程序基础
- Java编写的模拟ATM取款机程序
- 学习Java,C等程序开发的十大诀窍
- 这学期就要结束了,将我的程序上传来供大家学习参考吧!加油啦!批处理作业调度java实现
- java学习5---Java 的多线程,程序、进程和线程的概念
- java 程序运行原理和基础概念学习
- 使用java程序模拟页面发送http的post请求
- 《编写高质量代码改善Java程序的151个建议》学习笔记 第6章 枚举和注解
- 关于java学习的小程序——求班级平均成绩
- Java编写的模拟ATM取款机程序
- Java学习第一步:环境配置与编译第一个程序