动听的洗牌游戏(Java篇ArrayList实操)

本文详细介绍了如何在Java中使用ArrayList实现牌面的定义、牌组的创建、洗牌过程(基于随机数)以及两种抽牌方式(固定三人抽牌和一人随机抽牌)。作者通过通俗易懂的语言解释了ArrayList的关键作用和面向对象编程的实践应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇会加入个人的所谓‘鱼式疯言’

❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言
而是理解过并总结出来通俗易懂的大白话,
小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.
🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!
在这里插入图片描述

前言

在上篇文章中我们讲解了 ArrayList 和 顺序表 的实现

但唯一遗憾的是没有说明的具有实际运用,这次小编将带大家运用我们 ArrayList 来演示一下我们的 洗牌游戏

  1. 牌面
  2. 牌组
  3. 洗牌
  4. 抽牌

一. 牌面

public class Card {
   
    public  int num;

    public String color;

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


    @Override
    public String toString() {
   
        return "{" +
                 + num +" , "+
                color  +
                '}';
    }
}

我们将牌分为两者不用的属性: 数字和花色

从中我们就可以得到出 不同的牌面

鱼式疯言

重写 tostring()方法 时,我们可以简单重写即可 💖 💖 💖

比如像小编这样

@Override
public String toString() {
   
    return "{" +
             + num +" , "+
            color  +
            '}';
}

二.牌组

public class Cards {
public String []colors={“♥”,“♣”,“♠”,“♦”};
public List createCards() {
List CardList= new ArrayList();
for (int i = 1; i <= 13; i++) {
for (int j = 0; j < colors.length; j++) {
Card card=new Card(i,colors[j]);
CardList.add(card);
}
}

    return CardList;
}

}

得到我们的牌组后我们就可以 打印其牌组观察效果了

在这里插入图片描述
先说明下我们这个实现的基本框架吧

在这里我们是以 card 为数据类型进行传递,我们只需要 把每一张 card 做好,然后把他都放到 CardList 的这张顺序表中即可,这样就得到我们 整个的牌组

鱼式疯言

从中我们打印的很顺利,主要是依靠我们的 ArrayList 来实现的,但有些细节小编就不得不提了

  1. 实例化 ArrayList 对象时需要注意

List CardList= new ArrayList();

  1. 每张卡牌都依次放入数字和颜色形成

Card card=new Card(i,colors[j]);

三. 洗牌

public class Cards {
   
   public String []colors={
   "♥","♣","♠","♦"};
    public List<Card> createCards() {
   
        List<Card> 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邂逅岁月

感谢干爹的超能力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值