欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

Java --> 斗地主案例实现洗牌、随机牌选地主、发牌、存牌、存3张底牌。特此声明:没有实现斗地主规则

发布时间:2023/12/20 java 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Java --> 斗地主案例实现洗牌、随机牌选地主、发牌、存牌、存3张底牌。特此声明:没有实现斗地主规则 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
public void send_poker() {String[] flower = {"♠", "♣", "♦", "♥"};String[] numbers = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "k"};ArrayList<String> array_poker = new ArrayList<>();array_poker.add("Big_King");array_poker.add("Small_King");for (String flower_temp : flower) {for (String number_temp : numbers) {array_poker.add(flower_temp + number_temp);}}// random array_list before// 随机数组之前System.out.println("\nThis is random before array_list : \n" + array_poker.toString());// random array_list after// 随机数组之后Collections.shuffle(array_poker);System.out.println("\nThis is random after array_list : \n" + array_poker.toString());System.out.println("This array length is : " + array_poker.size());// send poker// define three number people// 发牌 定义三个人,由于不确定性,选择集合,如果有更优选择可以评论到评论区ArrayList<String> people_1 = new ArrayList<>();ArrayList<String> people_2 = new ArrayList<>();ArrayList<String> people_3 = new ArrayList<>();for (int i = 0; i < array_poker.size() - 3; i++) {if (i % 3 == 0) {people_1.add(array_poker.get(i));} else if (i % 3 == 1) {people_2.add(array_poker.get(i));} else if (i % 3 == 2) {people_3.add(array_poker.get(i));}}// show three people porker// 展示三个人的牌,看是否分配完成System.out.println("People_1 poker : " + people_1.toString());System.out.println("People_2 poker : " + people_2.toString());System.out.println("People_3 poker : " + people_3.toString());// choice landlord// 随机数,产生一张牌,确认地主是谁Random ran_landlord = new Random();int i_number = ran_landlord.nextInt(54);// 地主牌的花色,及其编号,还有其底牌是什么String loadlord_poker = array_poker.get(i_number);System.out.println("\nLoadlord poker is : " + loadlord_poker + "\nBottom poker (3) is : " +array_poker.get(array_poker.size() - 1) + " " +array_poker.get(array_poker.size() - 2) + " " +array_poker.get(array_poker.size() - 3));// 根据花色,利用contains() 方法将底牌给与指定的人// 此案例存在一个问题,如果地主不要牌怎么处理,留给你们自己想了if (people_1.contains(loadlord_poker)) {for (int i = array_poker.size() - 1; i > array_poker.size() - 4; i--) {people_1.add(array_poker.get(i));}}if (people_2.contains(loadlord_poker)) {for (int i = array_poker.size() - 1; i > array_poker.size() - 4; i--) {people_2.add(array_poker.get(i));}}if (people_3.contains(loadlord_poker)) {for (int i = array_poker.size() - 1; i > array_poker.size() - 4; i--) {people_3.add(array_poker.get(i));}}// show three peoples porker// 展示3个人的牌System.out.println("People_1 poker : " + people_1.toString());System.out.println("People_2 poker : " + people_2.toString());System.out.println("People_3 poker : " + people_3.toString());}

总结

以上是生活随笔为你收集整理的Java --> 斗地主案例实现洗牌、随机牌选地主、发牌、存牌、存3张底牌。特此声明:没有实现斗地主规则的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。