gpt4 book ai didi

Java纸牌游戏: Deck Class help needed

转载 作者:搜寻专家 更新时间:2023-11-01 03:40:46 24 4
gpt4 key购买 nike

这是我关于 Stack Overflow 的第一个问题,如果我的问题中有新手错误,请原谅我,请随时纠正我,因为我计划在接下来的几个月里更多地使用这个网站。

无论如何,我是一名 12 年级的高中生,被困在我的一个家庭作业问题上。所以基本上我们得到了一个创建 war 游戏(纸牌游戏)的项目,并且我们被要求每天做一小部分。到目前为止,一切都很好,直到今天,所以我想问大家一个问题。

项目内容如下:

卡片

  • 它有什么:
    • private int value:卡片的值
    • 私有(private)字符花色:花色
    • Private Boolean drawn:牌是否已经从牌组中抽出
  • 它的作用:
    • Public Card(int val, char s):创建一张值(value)为 val、花色为 s 的牌,并将绘制设置为 False
    • public int getValue():返回卡片的值
    • public char getSuit():返回一张牌的花色
    • Public Boolean isDrawn():返回一张牌是否被抽出
    • Public String toString():以“花色值”的形式返回描述牌的字符串

甲板

  • 它有什么:
    • private char[] suits = { ‘c’, ‘d’, ‘h’, ‘s’}:代表花色
    • public int numCards:一副牌中的卡片数量(传统上是 52 - 将其降低以进行测试!)
    • Private Card[] deck:存储为卡片数组的卡片组

到目前为止,我已经完成了所有工作。

  • 它的作用:
    • Public Deck():创建一副纸牌——值范围为 2-14,每种花色各一张
    • public card drawCard():从牌组中随机抽取一张尚未抽出的牌
    • Public String toString():为测试目的而设计

现在,在 Quynh 先生的帮助下,我已经完成了 Public deck 的步骤,但是我对应该如何创建 drawCard 方法感到困惑。这是我到目前为止所拥有的:

public Card drawnCard(){
int randNum = (int) Math.random()*13+2;
}

所以我知道上面的代码创建了一个介于 2 和 14 之间的随机数,但我如何使用它来抽取实体卡?比如我要输入什么才能让程序知道要抽一张牌?抱歉,我知道你可能觉得我现在每一步都在问你,但我真的迷路了,需要你的帮助!

我是编程方面的新手,因此如果这个问题对您来说太简单/新手,我深表歉意,但我真的需要您的帮助:)

感谢您的宝贵时间!

最佳答案

作为初学者,您的 Deck 构造函数应该类似于此

for(int i = 2; i <= 14; i++){
for(int j = 0; j < suits.length; j++){
Card card = new Card(i, suits[j]);
card.isDrawn(false);
//ADD CARD TO YOUR DECK HERE
}
}

至于 drawCard 功能,只需从 1-52 中随机抽取一个数字(假设您使用的是 52 张卡片组),然后从您的卡片组中抽取它并设置 .isDrawn(true)

关于Java纸牌游戏: Deck Class help needed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15047726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com