Java --> 斗地主案例实现洗牌、随机牌选地主、发牌、存牌、存3张底牌。特此声明:没有实现斗地主规则
生活随笔
收集整理的這篇文章主要介紹了
Java --> 斗地主案例实现洗牌、随机牌选地主、发牌、存牌、存3张底牌。特此声明:没有实现斗地主规则
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
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// 隨機(jī)數(shù)組之前System.out.println("\nThis is random before array_list : \n" + array_poker.toString());// random array_list after// 隨機(jī)數(shù)組之后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// 發(fā)牌 定義三個(gè)人,由于不確定性,選擇集合,如果有更優(yōu)選擇可以評(píng)論到評(píng)論區(qū)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// 展示三個(gè)人的牌,看是否分配完成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// 隨機(jī)數(shù),產(chǎn)生一張牌,確認(rèn)地主是誰Random ran_landlord = new Random();int i_number = ran_landlord.nextInt(54);// 地主牌的花色,及其編號(hào),還有其底牌是什么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));// 根據(jù)花色,利用contains() 方法將底牌給與指定的人// 此案例存在一個(gè)問題,如果地主不要牌怎么處理,留給你們自己想了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個(gè)人的牌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());}
總結(jié)
以上是生活随笔為你收集整理的Java --> 斗地主案例实现洗牌、随机牌选地主、发牌、存牌、存3张底牌。特此声明:没有实现斗地主规则的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 普通话水平测试软件异错词,最新普通话水平
- 下一篇: 随机产生20个单词