黑马程序员技术交流社区
标题:
明天好像该学Map了,写了玩牌的小程序,分享下
[打印本页]
作者:
王国平
时间:
2015-12-9 23:10
标题:
明天好像该学Map了,写了玩牌的小程序,分享下
本帖最后由 王国平 于 2015-12-9 23:12 编辑
<blockquote>public class GamoDemo {
复制代码
public class GamoDemo {
/**
* @param args
*
*
* 0 1 2 3 4 5 6 7 8 9 10
* * * * *
*/
public static void main(String[] args) {
HashMap<Integer,String> hm = new HashMap<>();//创建牌盒
//创造牌
String[] colors = {"♠","♦","♣","♥"};
String[] numbers = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
ArrayList<Integer> list = new ArrayList<>();
int index = 0;
for (String num : numbers) {
for(String col : colors) {
String pai = col.concat(num);
hm.put(index, pai);
list.add(index);
index++;
}
}
hm.put(index, "小王");
list.add(index++);
hm.put(index, "大王");
list.add(index);
//打印,查看是否缺牌
for (Integer integer : list) {
System.out.print(hm.get(integer)+" ");
}
System.out.println();
Collections.shuffle(list);//洗牌
//查看洗牌后的效果
for (Integer integer : list) {
System.out.print(hm.get(integer)+" ");
}
System.out.println();
//创建玩家
TreeSet<Integer> keno = new TreeSet<>();
TreeSet<Integer> apple = new TreeSet<>();
TreeSet<Integer> sun = new TreeSet<>();
TreeSet<Integer> dipai = new TreeSet<>();
/*
* 0 1 2 3 4 5 6 7 8 9 10
* * * * *
*
* */
for(int i = 0 ; i < list.size() ; i ++) {
if(i >= list.size() - 3) {
dipai.add(list.get(i));
}else if(i % 3 == 0 ) {
System.out.println("第一个人拿到第 "+i +" 张");
keno.add(list.get(i));
}else if((i+2) % 3 == 0) {
apple.add(list.get(i));
System.out.println("第二个人拿到第 "+i +" 张");
}else if((i+1) % 3 == 0){
sun.add(list.get(i));
System.out.println("第三个人拿到第 "+i +" 张");
}
}
//检测是否有作弊,不能拿到相同的牌
print(keno);
System.out.println("--------------------");
print(apple);
System.out.println("--------------------");
print(sun);
System.out.println("--------------------");
print(dipai);
System.out.println("--------------------");
//看牌
lookPoker("Keno",keno,hm);
lookPoker("apple",apple,hm);
lookPoker("sun",sun,hm);
lookPoker("底牌",dipai,hm);
}
public static void lookPoker(String name, TreeSet<Integer> ts,HashMap<Integer,String> hm){
System.out.println(name+" 在看牌 :");
for (Integer integer : ts) {
System.out.print(hm.get(integer)+" ");
}
System.out.println();
}
public static void print(TreeSet<Integer> ts ) {
for (Integer integer : ts) {
System.out.print(integer+" ");
}
System.out.println();
}
}
作者:
TG·小强
时间:
2015-12-10 20:25
你们怎么都这么厉害,表示很无措啊
作者:
eddy1820
时间:
2015-12-10 22:55
還沒上到這,好像很有趣,感謝分享
作者:
duluhuang
时间:
2015-12-10 22:59
厉害厉害!
作者:
啦啦啦啦啦啦啦
时间:
2015-12-11 20:49
这个看的好有意思,就是我不懂。。
作者:
马赛
时间:
2015-12-11 21:45
厉害厉害!
作者:
杨凯瑞
时间:
2015-12-11 22:36
你确定你这个不是水贴???
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2