Java~实现简单的扑克牌,洗牌,发牌,玩捉鬼游戏(讲解详细,代码齐全) |
您所在的位置:网站首页 › 捉鬼游戏规则 › Java~实现简单的扑克牌,洗牌,发牌,玩捉鬼游戏(讲解详细,代码齐全) |
目录 一.扑克牌的定义 1.牌的定义 2.玩家的定义 二.扑克牌的操作(初始化,洗牌,发牌等) 1.初始化 2.洗牌 3.发牌 三.初始化,洗牌,发牌代码(全) 四.捉鬼游戏 首先一副扑克牌是54张,这里我们去掉大小王,也就是52张扑克牌 有♣,♠,♥,◆,四种花色,每种花色对应1到13张 一.扑克牌的定义 1.牌的定义我们定义一个Card类,来表示一张扑克牌,上面有花色suit和牌的值rank。 这里我重写了toString方法,方便我们打印每一张牌 这里我还重写了equals方法,如果判断两张牌是否相同,会用到 注意:如果没有重写equals方法,那么比较的就是两个Card是不是同一个对象,而不是花色和数值是否相同了,达不到我们想要的效果 /** * Created with IntelliJ IDEA. * User: 13498 * Date: 2021/12/10 * Time: 20:07 * Description: No Description */ public class Card { String suit; //花色 int rank; //大小 public Card(String suit, int rank) { this.suit = suit; this.rank = rank; } @Override public boolean equals(Object obj) { if (obj == null){ return false; } if (!(obj instanceof Card)){ return false; } Card card = (Card)obj; return this.suit.equals(card.suit) && this.rank == card.rank; } @Override public String toString() { return String.format("[%s %d]",suit,rank); //注意一下这种输出方式 } } 2.玩家的定义除了牌本身,我们还要对玩家进行定义,所以我们这里定义了一个Player类来表示玩家,每一个玩家都有手牌,我们用一个Card类型的顺序表来保存,注意这里的顺序表后面new了,也就是初始化了,这个不能少,不然后面还要专门为每个玩家的手牌初始化,会比较麻烦;同时,玩家还有一个姓名。 import java.util.ArrayList; import java.util.List; /** * Created with IntelliJ IDEA. * User: 13498 * Date: 2021/12/10 * Time: 20:24 * Description: No Description */ public class Player { String name; List cards = new ArrayList(); public Player(String name) { this.name = name; } } 二.扑克牌的操作(初始化,洗牌,发牌等)注:这里对每个功能及其实现方法进行讲解,后面有全部代码 1.初始化初始化完成后,打印牌库中的牌是这样 initialiseCards(cards); //初始化52张手牌对应方法的代码 public static void initialiseCards(List cards){ for (String s : new String[]{"♣","♠","♥","◆"}){ for (int i = 1; i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |