package my.learning.level_1.day3.map;
import java.util.*;
/*
模拟斗地主的三个玩家发牌和看牌
* */
public class GameDoudizhu {
public static void main(String[] args) {
show01();
}
private static void show01() {
String[] color={"♣","♦","♥","♠"};
String[] number={"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
Map<Integer,String> poker=new HashMap<>();
List<Integer> keyList=new ArrayList<>();
/*单独放入大小王*/
poker.put(1,"大王");
poker.put(2,"小王");
keyList.add(1);
keyList.add(2);
/*索引值*/
int index=3;
/*组合花色生成扑克*/
for (int i = 0; i <number.length ; i++) {
for (int j = 0; j < color.length; j++) {
poker.put(index,color[j]+number[i]);
keyList.add(index);
index++;
}
}
// System.out.println(poker);
// System.out.println(keyList)
/*洗牌,将索引值打乱*/;
Collections.shuffle(keyList);
// System.out.println(keyList);
/*给玩家发牌*/
List<Integer>play1=new ArrayList<>();
List<Integer>play2=new ArrayList<>();
List<Integer>play3=new ArrayList<>();
List<Integer>dipai=new ArrayList<>();
for (int i = 0; i <keyList.size() ; i++) {
Integer pai = keyList.get(i);
if (i>=51){
dipai.add(pai);
}else if (i%3==0) {
play1.add(pai);
}else if (i%3==1) {
play2.add(pai);
}else if (i%3==2) {
play3.add(pai);
}
}
/*将每个玩家的牌排序*/
Collections.sort(play1);
Collections.sort(play2);
Collections.sort(play3);
Collections.sort(dipai);
show02( "play1", play1,poker);
show02( "play2", play2,poker);
show02( "play3", play3,poker);
show02( "dipai", dipai,poker);
}
/*看牌函数*/
public static void show02(String name, List<Integer> play,Map<Integer,String> poker){
System.out.print(name+": ");
for (Integer i: play) {
System.out.print(poker.get(i)+", ");
}
System.out.println();
}
}
学习笔记day_3 java斗地主小游戏
最新推荐文章于 2024-09-05 21:59:53 发布