斗地主小游戏之洗牌发牌java,java斗地主发牌
本文分享一下Java中楼主洗牌和发牌的具体代码,供大家参考。具体内容如下
00-1010我们需要模拟斗地主过程中的洗牌、发牌、看牌。而且要求牌要整齐。
1.每张扑克牌都有花色和点数,所以我们可以先将花色和点数存储在两个字符串数组中,然后再存储在set中。因为我们稍后要对卡片进行洗牌和排序,所以我们选择TreeMap set来存储它们。关键是扑克牌的号码,数值是扑克牌的花色和点数(将花色和点数拼接成一串)。
2.洗牌就是号码,那么我们用ArrayList集合来存储卡号,调用Collections集合工具类的shuffle()方法来洗牌。
3.发牌。我们发给每个人的牌都是有序的,所以我们选择TreeSet集合来接收牌。
4.看这些卡片。让我们只写一个lookPoker()方法。这个方法通过TreeSet集合获取每张牌对应的号码,然后到TreeMap集合中查找对应号码的扑克牌。
00-1010 1.创建一个树形图集来存储扑克牌号码、扑克牌颜色和点数。2.定义两个数组分别存储颜色和点。3.创建一个数组列表集来存储数字。4.在HashMap集合中存储数字和对应的扑克牌,同时在ArrayList集合中存储数字。5.洗牌(洗号码)。6.发牌牌(发号也一样,为了保证扑克牌的顺序,创建一个TreeSet集合来接收)7。观察卡片(遍历树集,获得数字,并在散列表集中找到相应的卡片)
具体代码实现如下:
包com.edu _ 01导入Java . util . ArrayList;导入Java . util . collections;导入Java . util . treemap;导入Java . util . treeset;class poker { public static void main(string[]args){//1。创建一个TreeMap集合来存储扑克牌号码、扑克牌花色和点数TreeMap integer,string poker=new TreeMap integer,string();//2.定义两个数组分别存储颜色和点String[] colors={ ,, , };String[] numbers={3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , J , O , K , A , 2 };//3.创建一个ArrayList集合来存储数字ArrayList Integer Indexs=New ArrayList Integer();//4.在HashMap集合中存储数字和对应的扑克牌,在ArrayList集合中存储数字int index=0;for(String number : numbers){ for(String color : colors){ pokers . put(index,color number);indexs . add(index);指数;}} pokers.put(索引,小王);indexs . add(index);指数;Pokers.put(index, King );indexs . add(index);//5.洗牌(洗数字)集合。//6.发牌(数字也被发出,为了保证扑克牌的顺序,创建了一个TreeSet集合来接收它们)。TreeSet Integer张三=new TreeSet Integer();treeset integer Lisi=new treeset integer();TreeSetInteger吴王=new treeset integer();treeset integer dipai=new treeset integer();for(int I=0;I indexs . size();I){ if(I=indexs . size()-3){ dipai . add(indexs . get(I));} else if(I % 3==0){ Zhang San . add(indexs . get(I));} else if(I % 3==1){ Lisi . add(indexs . get(I));} else if(I % 3==2){ wangwu . add(indexs . get(I));}} //7.看牌(遍历TreeSet集合,得到号码,在HashMap集合中找到对应的牌)lookPoker(张三,张三,pokers);LookPoker(李四,李四,扑克);LookPoker(王五、吴王、扑克);LookPoker(底牌,底牌,扑克);} private static void look poker(string name,treeset integer indexes,treemap integer,string poker){ system . out . print(name is:);for(Integer index : indexs){ system . out . print(pokers . get(index) );} system . out . println();}}运行结果:
注意:因为我使用了“、”和“、”这些符号,所以在保存程序时,必须选择另存为UTF-8,但不能选择确定,否则会出现乱码。
这就是本文的全部内容。希望对大家的学习有所帮助,也希望大家能支持它的盛行。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。