Java
比较新,我到目前为止都喜欢它,但我仍然坚持做作业。我必须创建一个二十一点游戏,(我已经完成了多次Google搜索)并且在创建Player1和Player2时遇到了麻烦。我已经创建了卡class
。我需要向一个玩家发一张牌,问他/她是否愿意另一个(我有这个循环),并将卡加在一起。对于Player2也是如此。这就是我被卡住的地方,我的卡片类包括一个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;
}
}
}
答案 0 :(得分:0)
有人会认为类卡会代表一张卡,因此不会有处理一副卡的方法。没有好的方法让一张牌知道牌组中有多少牌等,而不给单张牌提供牌组,这是违反直觉的。
我说你有甲板课的原因,包含一些卡片。我认为你的卡类会允许一个名字(杰克,女王,10)和这个游戏中的一个值(所有这些都是10)。
那么也许你的主(在一个名为Dealer的类中?)调用Deck上的一个方法来获取一张随机卡,然后在Player上调用一个方法给他们这张卡片,在游戏中旋转玩家(可能还有更多有一天会超过2)直到每个人都有最初的2张牌。然后第一个玩家可以查看他拥有的所有牌的总数,并决定他是否想要另一张牌,直到他被击败或停止等等。看来你的玩家类有逻辑来确定他何时停止接受其他牌
我希望这有足够的帮助。玩得开心。