用java做了个简单控制台斗地主小游戏
实现了洗牌发牌抢地主的过程,整理牌面顺序
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class ddz {
public static void main(String[] args) {
/*
* 1.组装一副牌
* 2.洗牌
* 3.发牌
* 4.看牌
* */
//1 组牌
//1.1 组装一副牌,使用Map存储牌的 编号 和 牌面
Map<Integer, String> poker = new HashMap<>();
//1.2 创建 花色 和 数字
List<String> colors = new ArrayList<>();
List<String> numbers = new ArrayList<>();
//1.3 存储 花色 和 数字
Collections.addAll(colors, "♠", "♥", "♣", "♦");
Collections.addAll(numbers, "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K");
//1.4 设置牌的编号及大小王
int count = 1;
poker.put(count++, "大王");
poker.put(count++, "小王");
//1.5 整合54张牌牌面
for (String number : numbers
) {
for (String color : colors
) {
String card = color + number;
poker.put(count++, card);
}
}
//2 洗牌
//2.1 取出牌的编号key存储到set中
Set<Integer> set = poker.keySet();
//2.2 考虑到会用到Collections.shuffle()是list的特有方法,所以用list来接收set
List<Integer> list = new ArrayList<>();
list.addAll(set);
//2.3 打乱顺序
Collections.shuffle(list);
// 3. 摸牌
// 3.1 创建三个玩家
ArrayList<Integer> noP1 = new Arra