map|斗地主 (3人斗地主) 通过程序将发牌过程实现,用到 Map 和 List集合

一·Map集合特点 : key-value形式 ,key唯一不能重复 .
二 List集合特点:一副牌 54张,4种花色 , 大小王 , J Q K A ,其他是 2,3,4…10
思路如下:

package com.hp.game; import java.util.*; /** * 1. 用map存储 牌的信息 *key 存储1-54张的编号 ; value 就是 花色+数字 组合牌的信息 * * 2. 用list集合 存储 1-54张的编号 * * 3. 用2个数组 分别存储 4种花色和 A ,2,3...J,Q ,K * * 4. 将 牌的具体内容放到 map和list * * 5. 发牌 * * 6. 看牌 */ public class Game { public static void main(String[] args) { //1. 用map存储 牌的信息 Map map=new HashMap<>(); // key 存储1-54张的编号 ; value 就是 花色+数字 组合牌的信息 List list=new ArrayList<>(); //用两个数组储存花色和13张牌 String[]colors={"?","?","?","?"}; String[]numbers={"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; int index = 0; //记录编号 //将牌的信息放到上面的集合里面 //利用for循环 //共循环4 * 13 = 52 次 for (String num:numbers){ for (String col:colors){ map.put(index,col+num); list.add(index); index++; }} System.out.println("index="+index); //剩下的两个编号就是大小王了 list.add(53); list.add(54); map.put(53,"大王"); map.put(54,"小王"); //发牌之前我们需要先把牌打乱对吧!组成随机 "数组"! //shuffle洗牌。。。。。 Collections.shuffle(list); //发牌开始(打牌的为三人,同时呢还要留三张底牌!)需要定义三个人和一个底牌 集合接收牌。 List p1 = new ArrayList<>(); List p2 = new ArrayList<>(); List p3 = new ArrayList<>(); //bottom设为底牌 List bottom = new ArrayList<>(); //具体发送 牌 for (int i=0; i list, Map map) { System.out.println(name+": "); for (int i=0; i

【map|斗地主 (3人斗地主) 通过程序将发牌过程实现,用到 Map 和 List集合】运行结果:
打印时记得换行
system.out.println
这样会美观一点
“system.out.print”
map|斗地主 (3人斗地主) 通过程序将发牌过程实现,用到 Map 和 List集合
文章图片

    推荐阅读