龙空技术网

斗地主综合案例:有序版本(双列)

菜鸟传奇 82

前言:

此时我们对“java斗地主游戏界面代码”可能比较关注,姐妹们都需要分析一些“java斗地主游戏界面代码”的相关知识。那么小编同时在网络上搜集了一些有关“java斗地主游戏界面代码””的相关资讯,希望姐妹们能喜欢,同学们快快来了解一下吧!

斗地主综合案例:有序版本(双列)1.准备牌2.洗牌3.发牌4.排序5.看牌

import java.util.ArrayList;import java.util.HashMap;import java.util.List;public class CaiNiao{ public static void main(String[] args){ //1.准备牌 //创建一个Map集合,存储牌的索引和组装好的牌 HashMap<Integer,String> poker = new HashMap<>();  //创建一个List集合,存储花色和牌索引 ArrayList<Integer> pokerIndex = new ArrayList<>(); //定义两个数组,一个数组存储牌的花色,一个数组存储牌的序号 String[] colors = {"?","?","?","??"}; String[] numbers = {"2","A","K","Q","J","10","9","8","7","6","5","4","3"}; //先把大王和小王存储到集合中 //定义一个牌的索引 int index = 0; poker.put(index,"大王"); pokerIndex.add(index); index++; poker.put(index,"小王"); pokerIndex.add(index); index++; //循环嵌套遍历两个数组,组装52张牌 for(String numbers:numbers){ for (String color : colors){ poker.put(index.color+number); pokerIndex.add(index); index++; } } // System.out.println(poker); // System.out.println(pokerIndex);  /* 2.洗牌 使用集合的工具类Collections中的方法 static void shuffle(List<?> list) 使用默认的随机源对指定列表进行置换。  */ Collections.shuffle(poker); //System.out.println(poker);  /* 3.发牌 */ //定义4 个集合,存储玩家的牌和底牌 ArrayList<String> player01 = new ArrayList<>(); ArrayList<String> player02 = new ArrayList<>(); ArrayList<String> player03 = new ArrayList<>(); ArrayList<String> dipai = new ArrayList<>(); /* 遍历poker集合,获取每一张牌 使用poker集合的索引%3给3个玩家轮流发牌 剩余3张牌给底牌 注意: 先判断底牌(i>51),否则牌就发没了  */ for(int i = 0;i<poker.size();i++){ //获取每一张牌 String p = poker.get(i); //轮流发牌 if(i>=51){ //给底牌发牌 diPai.add(p); }else if (i%3==0){ //给玩家1发牌 player01.add(p); }else if (i%3==1){ //给玩家2发牌 player02.add(p); }else if(i%3==2){ //给玩家3发牌 player03.add(p); } }  /* 4.排序 使用Collectio中的方法sort(List) 默认是升序排序 */ Collection.sort(player01); Collection.sort(player02); Collection.sort(player03); Collection.sort(dipai);    //5.看牌 lookpoker("刘德华:",poker,player01); lookpoker("周润发:",poker,player02); lookpoker("周星驰:",poker,player03); lookpoker("底牌 :",poker,dipai); } /* 定义一个看牌方法,提高代码的复用性 参数: String name:玩家名称 HashMap<Integer,String> poker:存储牌的poker集合 ArrayList<Integer> List:存储玩家和底牌的list集合 查表法: 遍历玩家或者底牌集合,获取牌的索引 使用牌的索引,去Map集合中,找到对应的牌 */  public static void lookpoker(String name ,HashMap<Integer,String> poker,ArrayList<Integer> list){ //输出玩家名称,不换行 System.out.println(name + ";"); //遍历玩家或者底牌集合,获取牌的索引 for(Integer key : list){ //使用牌的索引,去Map集合中,找到对应的牌 String value = poker.get(key); System.out.println(value+""); } System.out.println();//打印完每一个玩家的牌,换行 } }

标签: #java斗地主游戏界面代码