可以和你女朋友一起玩的 《扑克牌游戏》

扑克牌游戏(炸金花)

  • 游戏简介
  • 游戏功能介绍
  • 代码实现
  • 运行结果展示
    1,游戏简介
    这个游戏主要采用List实例ArrayList进行存储所有牌,每个玩家的手牌用一个List存储,用二维List存储所有玩家的手牌的List,比较简单,容易实现;
    2.游戏功能介绍
    实现了洗牌,发牌功能
    3.代码实现
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

class Card{
    private String rank; //点数
    private String suit; //花色

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

    public String getRank() {
        return rank;
    }

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

    public String getSuit() {
        return suit;
    }

    public void setSuit(String suit) {
        this.suit = suit;
    }

    @Override
    public String toString() {
//        return "card{" +
//                "rank='" + rank + '\'' +
//                ", suit='" + suit + '\'' +
//                '}';
        return  "[" + this.suit + this.rank +"]";
    }
}
public class Poker {
    public static void main(String[] args) {
       //创建一副扑克牌
       List<Card> poker = buyPoker();
       //洗牌,最简单的是使用Collections.shuffle方法,把list中的元素打乱顺序
        Collections.shuffle(poker);
       // System.out.println(poker);
        //发牌,有三个人,没人法五张
        //每个玩家是个List,把每个玩家的手牌放入List
        //再把多个玩家的List放入一个List中
        //players表示所有玩家的手牌
        //每个元素就是一个玩家的所有手牌(也是一个List)
        List<List<Card>>  players = new ArrayList<>();
        players.add(new ArrayList<>());
        players.add(new ArrayList<>());
        players.add(new ArrayList<>());
        for (int i = 0; i < 3; i++) {
            //i表示五张牌  j表示三个人
            for (int j = 0; j < 3; j++) {
               List<Card> player =  players.get(j);
               player.add(poker.remove(0));
            }
        }
        //到这一步发牌结束,可以查看玩家手牌了
        for (int i = 0; i < 3 ; i++) {
            System.out.println("玩家" + i + players.get(i));
        }
    }
    private static List<Card> buyPoker(){
        List<Card> poker =  new ArrayList<>();
        String[] suits = {"♥","♣","♠","♦"};
        for(int i = 0; i < 4; i++){
            //这个循环用来处理四种花色
            //每种花色又有13张牌
            for (int j = 2; j <= 10 ; j++) {
                poker.add(new Card(String.valueOf(j),suits[i]));
            }
            poker.add(new Card("J",suits[i]));
            poker.add(new Card("Q",suits[i]));
            poker.add(new Card("K",suits[i]));
            poker.add(new Card("A",suits[i]));
        }
        return poker;
    }
}

4.运行结果展示
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值