本篇文章给大家分享的是有关怎么在java中使用HashMap实现一个斗地主游戏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、准备牌:每张扑克牌牌由花色和数字两部分组成。可以
本篇文章给大家分享的是有关怎么在java中使用HashMap实现一个斗地主游戏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
1、准备牌:
每张扑克牌牌由花色和数字两部分组成。可以使用花色集合与数字集合嵌套迭代完成扑克牌的组装。
2、发牌
扑克牌组转完毕后由Collections类的shuffle方法打乱重排,最后3张当作底牌,剩余牌通过对3取模依次发牌。
3、看牌
打印集合。
import java.util.*;public class Poker2 { // 牌堆 private static Map<Integer, String> pokerMap = new HashMap<>(); // 花色 private static ArrayList<String> colors = new ArrayList<>(); // 数字 private static ArrayList<String> numbers = new ArrayList<>(); // 扑克牌的编号集合 private static ArrayList<Integer> numberList = new ArrayList<>(); // 玩家编号集合 private static ArrayList<Integer> noP1 = new ArrayList<>(); private static ArrayList<Integer> noP2 = new ArrayList<>(); private static ArrayList<Integer> noP3 = new ArrayList<>(); // 底牌编号集合 private static ArrayList<Integer> diPaiNo = new ArrayList<>(); // 三个玩家 private static ArrayList<String> playerOne = new ArrayList<String>(); private static ArrayList<String> playerTwo = new ArrayList<String>(); private static ArrayList<String> playerThree = new ArrayList<String>(); // 底牌 private static ArrayList<String> diPai = new ArrayList<String>(); public static void createPoker(){ Collections.addAll(colors, "♦", "♣", "♥", "♠"); Collections.addAll(numbers, "2", "A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3"); // 设置存储编号 int count = 1; pokerMap.put(count++, "大王"); pokerMap.put(count++, "小王"); // 创建扑克牌 for (String number : numbers) { for (String color : colors) { String card = color + number; pokerMap.put(count++, card); } } // 先取编号 Set<Integer> numberSet = pokerMap.keySet(); numberList.addAll(numberSet); // 然后随机洗牌 Collections.shuffle(numberList); } public static void faPai(){ for (int i = 0; i < numberList.size(); i++) { Integer no = numberList.get(i); // 留出底牌 if (i >= 51) { diPaiNo.add(no); } else { if (i % 3 == 0) { noP1.add(no); } else if (i % 3 == 1) { noP2.add(no); } else { noP3.add(no); } } } } public static void sortCards(){ // 对编号进行排序 Collections.sort(noP1); Collections.sort(noP2); Collections.sort(noP3); Collections.sort(diPaiNo); // 进行牌面的转换 for (Integer i : noP1) { // 根据编号获取牌面,并发给对应的玩家 String card = pokerMap.get(i); playerOne.add(card); } for (Integer i : noP2) { String card = pokerMap.get(i); playerTwo.add(card); } for (Integer i : noP3) { String card = pokerMap.get(i); playerThree.add(card); } for (Integer i : diPaiNo) { String card = pokerMap.get(i); diPai.add(card); } } public static void showCards(){ System.out.println("赌圣:" + playerOne); System.out.println("赌侠:" + playerTwo); System.out.println("赌王:" + playerThree); System.out.println("底牌:" + diPai); } public static void main(String[] args) { createPoker(); faPai(); sortCards(); showCards(); }}
以上就是怎么在java中使用HashMap实现一个斗地主游戏,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网精选频道。
--结束END--
本文标题: 怎么在java中使用HashMap实现一个斗地主游戏
本文链接: https://lsjlt.com/news/247850.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0