【问题标题】:Create Player class/variable for blackjack为二十一点创建 Player 类/变量
【发布时间】: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];???

标签: java draw blackjack


【解决方案1】:

人们会认为 Card 类代表一张牌,因此不会有处理一副牌的方法。一张牌没有很好的方法知道牌组中有多少牌等,而不给单张牌提供牌组的参考,这是违反直觉的。

我会说你有理由使用 Deck 类,其中包含一些卡片。我认为您的 Card 类将允许名称(jack、queen、10)和该游戏中的值(所有这些都是 10)。

然后也许你的 main(在一个名为 Dealer 的类中?)调用 Deck 上的一个方法来获取一张随机牌,并调用 Player 上的一个方法来给他们这张牌,在游戏中轮换玩家(可能还有更多总有一天会超过 2),直到每个人都有最初的 2 张牌。然后第一个玩家可以查看他拥有的所有牌的总数并决定他是否想要另一张牌,直到他被破坏或停止等等。您的 Player 类具有确定他在什么时候停止拿额外牌的逻辑似乎很合适.

我希望这已经足够帮助了。玩得开心。

【讨论】:

    猜你喜欢
    • 2012-10-08
    • 2016-02-08
    • 2015-02-08
    • 2012-07-27
    • 1970-01-01
    • 2018-10-11
    • 2012-06-29
    • 2012-10-17
    • 1970-01-01
    相关资源
    最近更新 更多