当前位置:   article > 正文

斗地主 | java

斗地主 | java

代码实现

  1. package com.itfxp.doudizhu;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.HashMap;
  5. /*
  6. 斗地主案例步骤:
  7. 1. 组装牌
  8. 2. 洗牌
  9. 3. 发牌 17
  10. 4. 看牌
  11. */
  12. public class DDZDemo {
  13. public static void main(String[] args) {
  14. // 组装牌
  15. // 牌盒
  16. HashMap<Integer, String> poker = new HashMap<>();
  17. // 创建集合:存储的是牌的编号
  18. ArrayList<Integer> list = new ArrayList<>();
  19. // 定义变量,记录牌的索引编号
  20. int index = 2;
  21. // 定义两个数组
  22. // 花色
  23. String[] colors = { "♦", "♣", "♥", "♠"};
  24. // 数字
  25. String[] numbers = { "2", "A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3"};
  26. // 遍历花色和数字数组
  27. for (String number : numbers) {
  28. for (String color : colors) {
  29. String p = color + number;
  30. poker.put(index, p);
  31. list.add(index);
  32. index++;
  33. }
  34. }
  35. // 将大小王存储到集合中
  36. poker.put(0, "大王");
  37. list.add(0);
  38. poker.put(1, "小王");
  39. list.add(1);
  40. // System.out.println(list);
  41. // 洗牌
  42. Collections.shuffle(list);
  43. // 发牌
  44. ArrayList<Integer> player1 = new ArrayList<>();
  45. ArrayList<Integer> player2 = new ArrayList<>();
  46. ArrayList<Integer> player3 = new ArrayList<>();
  47. ArrayList<Integer> diPai = new ArrayList<>();
  48. // 遍历ArrayList集合
  49. for (int i = 0; i < list.size(); i++) {
  50. if (i < 3) {
  51. // 给底牌
  52. diPai.add(list.get(i));
  53. } else if (i % 3 == 0) {
  54. // 玩家1
  55. player1.add(list.get(i));
  56. }else if (i % 3 == 1) {
  57. // 玩家2
  58. player2.add(list.get(i));
  59. }else if (i % 3 == 2) {
  60. // 玩家1
  61. player3.add(list.get(i));
  62. }
  63. }
  64. // 排序
  65. Collections.sort(player1);
  66. Collections.sort(player2);
  67. Collections.sort(player3);
  68. // System.out.println(player1);
  69. // System.out.println(player2);
  70. // System.out.println(player3);
  71. // System.out.println(diPai);
  72. // 看牌
  73. lookPoker("花花",player1,poker);
  74. lookPoker("丽丽",player2,poker);
  75. lookPoker("乐乐",player3,poker);
  76. lookPoker("底牌",diPai,poker);
  77. }
  78. public static void lookPoker(String playerName, ArrayList<Integer> list, HashMap<Integer, String> poker) {
  79. System.out.print(playerName+"的牌是:");
  80. for (Integer key : list) {
  81. System.out.print(poker.get(key)+"\t");
  82. }
  83. System.out.println();
  84. }
  85. }

运行结果

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/433792?site
推荐阅读
相关标签
  

闽ICP备14008679号