【发布时间】:2019-04-12 22:11:30
【问题描述】:
对Java 来说相对较新,到目前为止我很喜欢它,但我被困在一个任务中。我必须创建一个 二十一点游戏,(我已经通过多个 Google 搜索)并且在创建 Player1 和 Player2 时遇到了麻烦。我已经创建了卡片class。我需要给一个玩家发一张牌,问他/她是否想要另一张(我有这个循环),然后把牌加在一起。 Player2 也一样。这就是我卡住的地方,我的 Card Class 包含一个 draw(),它应该发牌。
import java.util.Random;
import java.util.Scanner;
public class Game
{
public static void main(String[] args)
{
int Player1 = 0, Sum1, Player2 = 0, Sum2;//Sums used to keep running total of cards Players have
Card[] cards = new Cards[52];
}
//sample of loop I would use to ask if they would like another card
do
{
System.out.println("Would you like to draw another card?");
answer = input.nextLine();
}while(answer.equals("Yes"));
}
//Card class with draw() at the bottom
class Card{
private int Spades = 0, Hearts = 1, Diamonds = 2, Clubs = 3;
private int Ace = 1, Jack = 11, Queen = 12, King = 13;
private int face_value;
public Card(){
face_value = 1;
}
public void setFacevalue(int value){
face_value = value;
}
public int getFacevalue(){
return face_value;
}
public int draw(){
Random ran = new Random();
face_value = ran.nextInt(13)+1;
return face_value;
}
}
}
【问题讨论】:
-
大胆一点 - 向我们展示您的代码!否则回答有点棘手。
-
你也可以多思考一下你的问题,问一个更具体的问题——被卡住并不丢人,初学者也不是,但很难知道你需要什么帮助,除非你告诉我们。
-
我想我需要帮助的是将牌发给每个玩家,然后将这些牌加在一起算出总数。我相信我可以自己做剩下的事情。 (手指交叉)。
-
我和@arcy 在一起——你需要花更多时间思考你的设计。如果一张卡片不自己绘制,为什么它要实现 draw() 方法?玩家不是从牌库中抽牌吗?这是否意味着玩家需要一种方法来调用牌组上的 draw() 方法,该方法将一张新牌从牌组传递给牌手?不要被语言的细节所困扰——如果你不完全理解问题,你将永远无法正确回答。
-
Card[] cards = new Cards[52];???