import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
public class PokerCards {
public static void main(String[] args) {
// 1. 准备花色 想法: 把四个花色 存放到一个容器里去
ArrayList<String> color = new ArrayList<>();
color.add("♠");
color.add("♣");
color.add("♦");
color.add("♥");
// 2. 准备数字 想法: 把7个数字 存放到一个容器里去
ArrayList<String> number = new ArrayList<>();
for (int i = 3; i < 11; i++) {
number.add(i+ "");
}
number.add("J");
number.add("Q");
number.add("K");
number.add("A");
number.add("2");// 为了确保2 > A 特此单独添加!
HashMap<Integer, String> map = new HashMap<>();
int index = 0;
for (String num : number) {
for (String col : color) {
// 将花色与数字进行组合 4 * 13 = 52
map.put(index++,col+num);
}
}
// 加入大王 、小王
map.put(index++,"大☺");
map.put(index++,"小☺");
ArrayList<Integer> cards = new ArrayList<>();
for (int i = 0; i <= 53; i++) {
cards.add(i);
}
// 开始进行洗牌
Collections.shuffle(cards);
ArrayList<Integer> player1 = new ArrayList<>();//玩家1
ArrayList<Integer> player2 = new ArrayList<>();//玩家2
ArrayList<Integer> player3 = new ArrayList<>();//玩家3
ArrayList<Integer> isSelectCards = new ArrayList<>();// 底牌
for (int i = 0; i < cards.size(); i++) {
if (i >=51){
isSelectCards.add(cards.get(i));// 留取三张底牌
}else{
if (i % 3 == 0){
player1.add(cards.get(i));
} else if (i % 3 == 1){
player2.add(cards.get(i));
}else{
player3.add(cards.get(i));
}
}
}
Collections.sort(player1); // 对玩家1手中的扑克进行排序
Collections.sort(player2);
Collections.sort(player3);
Collections.sort(isSelectCards);
ArrayList<String> splayer1 = new ArrayList<>();
ArrayList<String> splayer2 = new ArrayList<>();
ArrayList<String> splayer3 = new ArrayList<>();
ArrayList<String> sSelectCards = new ArrayList<>();
for (Integer key : player1) {
splayer1.add(map.get(key));
}
for (Integer key : player2) {
splayer2.add(map.get(key));
}
for (Integer key : player3) {
splayer3.add(map.get(key));
}
for (Integer key : isSelectCards) {
sSelectCards.add(map.get(key));
}
System.out.println("赵云:"+splayer1);
System.out.println("李信:"+splayer2);
System.out.println("韩信:"+splayer3);
System.out.println("底牌是:"+sSelectCards);
}
}
#yyds干货盘点#杨校老师课堂之Java集合Map完成的Poker洗牌发牌游戏
原创
©著作权归作者所有:来自51CTO博客作者杨校老师的原创作品,如需转载,请与作者联系,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
杨老师课堂之ArrayList集合解析
ArrayList集合常用方法的解析ArrayList集合常用方法的解析1.概述1.1集合的创建1.2 集合中常用方法1.3 集合中常用方法1.4 集合中的常用方法补充1.概述 在
java list arraylist 常用方法 数组
















