java SE集合类实现斗地主洗牌、牌排序
来源:互联网 发布:三菱plcrs485通讯编程 编辑:程序博客网 时间:2024/06/07 22:43
java的集合方便了我们管理和操作大量的数据,在很多地方都用多,特别在java Web要操作数据库时,那是必不可少的!!!集合类的作用是用于储存、检索和操纵数据,以及将数据从一个方法传输至另一个方法等等。
很简单的代码就可以实现
package list;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.TreeSet;import org.junit.Test;public class faatPaai { @Test public void SaiPaai() { //HashMap的key方便发牌时获取牌 HashMap<Integer,String> paais = new HashMap<Integer,String>(); ArrayList<Integer> arrys = new ArrayList<Integer>(); //牌的四种颜色 String[] colors = { "♠", "♥", "♣", "♦" }; //牌的数字,("A", "2")放在后面方便牌排序 String[] numbers = { "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K","A", "2" }; int index = 0; //数字放在第一个for也是为方便牌排序 for (String number : numbers) { for (String color : colors) { paais.put(++index,color.concat(number)); arrys.add(index); } } paais.put(++index,"小王"); arrys.add(index); paais.put(++index,"大王"); arrys.add(index); //洗牌 Collections.shuffle(arrys); //TreeSet类自带排序,方便操作 TreeSet<Integer> peasant1 = new TreeSet<Integer>(); TreeSet<Integer> peasant2 = new TreeSet<Integer>(); TreeSet<Integer> landlord = new TreeSet<Integer>(); TreeSet<Integer> daiPaai = new TreeSet<Integer>(); for (int i = 0; i < paais.size(); i++) { //牌剩下三张是发给底牌 if (i >= paais.size() - 3) { daiPaai.add(arrys.get(i)); } else if (i % 3 == 0) { peasant1.add(arrys.get(i)); } else if (i % 3 == 1) { peasant2.add(arrys.get(i)); } else if (i % 3 == 2) { landlord.add(arrys.get(i)); } } //发牌 faaiPaai("底牌",daiPaai,paais); faaiPaai("农民",peasant1,paais); faaiPaai("农民",peasant2,paais); faaiPaai("地主",landlord,paais); } public void faaiPaai(String name,TreeSet<Integer> personage,HashMap<Integer,String> paais){ System.out.print(name+"牌为:"); for(Integer paaisou : personage){ String paai = paais.get(paaisou); System.out.print(paai+" "); } System.out.println(); }}
0 0
- java SE集合类实现斗地主洗牌、牌排序
- Java模拟斗地主洗牌、发牌和对牌排序
- 集合框架_模拟斗地主洗牌和发牌并对牌进行排序的代码实现
- 斗地主洗牌+发牌+排序
- JAVA-11.3-模拟斗地主洗牌、发牌、并进行排序(集合)
- 模拟斗地主洗牌和发牌(集合实现)
- 【Java学习笔记】16.TreeMap集合实现斗地主洗牌发牌
- 集合框架-模拟斗地主洗牌和发牌并对牌进行排序案例
- Java-斗地主洗牌发牌
- java斗地主 洗牌发牌
- 集合模拟斗地主洗牌,发牌,看牌
- Java实现--模拟斗地主的洗牌和发牌
- 模拟斗地主洗牌和发牌,牌没有排序
- java 利用集合实现斗地主算法
- Java集合实现斗地主功能
- Java 实现斗地主扑克牌排序
- 集合框架_模拟斗地主洗牌和发牌并对牌进行排序的原理图解
- 黑马程序员 斗地主洗牌代码实现
- java学习day2
- 神奇的约瑟夫环
- span标签
- jQuery基础修炼圣典—事件篇
- 如何优雅地退出python程序
- java SE集合类实现斗地主洗牌、牌排序
- HTML中的换行造成空格问题
- java学习day3
- HDFS文件浏览器(支持kerberos认证)
- Unity3D 脚本UTF-8编码/Unity3D 脚本支持中文
- web.xml 中的listener、 filter、servlet 加载顺序及其详解___http://www.cnblogs.com/JesseV/archive/2009/11/17/16050
- 写web api 微信对接
- IBM服务器系列
- JS的面对对象教程