黑马程序员技术交流社区
标题:
结合ArrayList,Collections,List模拟斗地主发牌
[打印本页]
作者:
胡建伟
时间:
2014-4-10 00:04
标题:
结合ArrayList,Collections,List模拟斗地主发牌
本帖最后由 胡建伟 于 2014-4-10 21:52 编辑
package com.heima.biji;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class doudizhu {
/**
* @param args
* 1,买副牌
* 2,洗牌
* 3,发牌
* 4,看底牌
*/
public static void main(String[] args) {
String[] arr = {"红桃","黑桃","方片","梅花"};
String[] numArr = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
List<String> list = new ArrayList<>();
for(String s1 : arr) {
for(String s2 : numArr) {
list.add(s1.concat(s2));
}
}
list.add("大王");
list.add("小王");
//洗牌
Collections.shuffle(list);
//发牌
List<String> gaojin = new ArrayList<>();
List<String> longwu = new ArrayList<>();
List<String> me = new ArrayList<>();
for(int i = 0; i < list.size() - 3; i++) {
if(i % 3 == 0) {
gaojin.add(list.get(i));
}else if(i % 3 == 1) {
longwu.add(list.get(i));
}else if(i % 3 == 2) {
me.add(list.get(i));
}
}
System.out.println("gaojin"+gaojin);
System.out.println("longwu"+longwu);
System.out.println("me"+me);
//看底牌,最后三张,
for(int i = list.size() - 3; i < list.size(); i++) {
System.out.println(list.get(i));
}
/*即list.size()-1,list.size()-2,list.size()-3
System.out.println(list.get(list.size()-3));
System.out.println(list.get(list.size()-2));
System.out.println(list.get(list.size()-1));
*/
}
}
复制代码
控制台结果:
gaojin[方片K, 梅花6, 红桃9, 红桃6, 梅花2, 黑桃A, 红桃7, 黑桃8, 小王, 红桃A, 方片Q, 红桃10, 方片J, 红桃J, 黑桃6, 梅花J, 黑桃5]
longwu[方片10, 大王, 梅花7, 方片7, 红桃4, 梅花A, 红桃8, 黑桃J, 梅花9, 方片A, 黑桃2, 黑桃K, 红桃5, 方片2, 方片8, 黑桃7, 梅花10]
me[方片4, 红桃K, 方片6, 梅花K, 方片9, 红桃3, 红桃2, 梅花8, 方片5, 黑桃9, 黑桃10, 黑桃3, 梅花Q, 红桃Q, 黑桃4, 梅花3, 梅花5]
黑桃Q
方片3
梅花4
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2