黑马程序员技术交流社区
标题:
模拟斗地主发牌
[打印本页]
作者:
hacker◊紫猫
时间:
2014-10-6 23:36
标题:
模拟斗地主发牌
昨天老师留了个模拟斗地主发牌题目,很有意思我来分享下
需求:模拟斗地主发牌。
思路:
A:买牌
黑桃A,黑桃2,黑桃3,...黑桃9,黑桃10,黑桃J,黑桃Q,黑桃K
红桃...
梅花...
方块...
大王,小王
B:洗牌
随机置换
C:发牌
发给三个人
D:看底牌
留三张
*/
public class CollectionsTest {
public static void main(String[] args) {
// 买牌
// 表示花色的数组
String[] colors = { "黑桃", "红桃", "梅花", "方块" };
// 表示点数的数组
String[] numbers = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"J", "Q", "K" };
// 早一个牌盒
ArrayList<String> array = new ArrayList<String>();
array.add("大王");
array.add("小王");
// 循环装牌
for (String c : colors) {
for (String n : numbers) {
array.add(c.concat(n));
}
}
// 显示所有牌
// System.out.println(array);
// 洗牌
Collections.shuffle(array);
// 显示所有牌
// System.out.println(array);
// 发牌
ArrayList<String> linString = new ArrayList<String>();
ArrayList<String> zhouString = new ArrayList<String>();
ArrayList<String> meString = new ArrayList<String>();
// 用普通for
for (int x = 0; x < array.size() - 3; x++) {
if (x % 3 == 0) {
linString.add(array.get(x));
} else if (x % 3 == 1) {
zhouString.add(array.get(x));
} else if (x % 3 == 2) {
meString.add(array.get(x));
}
}
// 看牌
System.out.println("linString:" + linString);
System.out.println("zhouString:" + zhouString);
System.out.println("meString:" + meString);
// 看底牌
for (int x = array.size() - 3; x < array.size(); x++) {
System.out.print(array.get(x) + " ");
}
}
}
作者:
不系之舟王
时间:
2014-10-7 09:31
先学习了
作者:
郑飞
时间:
2014-10-7 11:12
伤心啊 没注意Collections中还有个shuffle方法 可以用在有限元素取随机中 之前都是自己写的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2