Java实现纸牌游戏

Java实现纸牌游戏

实现要求(游戏规则)

有一副扑克54张(同现实接触的纸牌一致),玩家两名,洗牌后随机从任何一个玩家开始发牌,每人获得27张后停顿30秒,然后正式开始游戏,两名玩家逐个出牌(每张牌都是随机抽取),第一局随机决定谁先出,第二局开始,谁的牌大(按照大小规则)谁先出。如果玩家A大,那么将玩家B的牌拿到玩家A的纸牌中,30s后哪个玩家的牌多,谁就获胜!!

代码实现

  • 实体类
    扑克牌
public class Card {
   
    private String rank;
    private String color;

    public Card(String rank, String color) {
   
        this.rank = rank;
        this.color = color;
    }

    public Card() {
   
    }

    public String getRank() {
   
        return rank;
    }

    public void setRank(String rank) {
   
        this.rank = rank;
    }

    public String getColor() {
   
        return color;
    }

    public void setColor(String color) {
   
        this.color = color;
    }

    @Override
    public String toString() {
   
        return "Card{" +
                "rank='" + rank + '\'' +
                ", color='" + color + '\'' +
                '}';
    }
}

玩家

public class Player {
   

    private String name;
    List<Card> handCards = new ArrayList<Card>();


    public Player(String name, List<Card> handCards) {
   
        this.name = name;
        this.handCards = handCards;
    }

    public String getName() {
   
        return name;
    }

    public void setName(String name) {
   
        this.name = name;
    }

    public List<Card> getHandCards() {
   
        return handCards;
    }

    public void setHandCards(Card card) {
   
        this.handCards = handCards;
    }
}
  • 创建扑克类
//创建一副扑克牌
public class Poke {
   
    //扑克集合
    private List<Card> pokeList = new ArrayList<>();
    //扑克牌的值
    private int value;

    //创建一副扑克牌
    public Poke(){
   
        String[] rank = {
   "2","3","4","5","6","7","8","9","10","J","Q","K","A"};
        String[] color={
   "黑桃","红桃","方块","梅花"};
        System.out.println("--------创建一副扑克牌--------");

        for (int i = 0; i < rank.length; i++) {
   
            for (int j = 0; j < color.length; j++) {
   
                pokeList.add(new Card(rank[i],color[j]));
            }
        }
        pokeList.add(new Card("red_joke",""));
        pokeList.add(new Card("black_joke",""));

        //打乱顺序
        Collections.shuffle(pokeList);
    }
    //拿到一张牌
    public List<Card> getCard(){
   
        return pokeList;
    }

    //给扑克牌排大小
    public int getValue(Card card){
   
        String[] rank = {
   "2","3","4","5","6","7","8","9","10","J","Q","K","A"};
        String[] color={
   "黑桃","红桃","方块","梅花"};
        for (int i = 0; i < rank.length; i++) {
   
            if(card.getRank().equals(rank[i])){
   
               value=i*10;
            }
        }
        for (int i = 0; i < color.length; i++) {
   
            if(card.getColor().equals(color[i])){
   
                value+=i;
            }
        }
        return value;
    }
}
  • 主函数
public class Main {
   
    public static void main(String[] args) throws InterruptedException {
   
        //游戏加载界面
        System.out.
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值