C#扑克游戏:没有给出响应所需形式参数的参数
本文关键字:参数 响应 游戏 扑克 | 更新日期: 2023-09-27 18:24:44
我正在使用C#制作一个扑克游戏,该游戏随机生成一手牌给玩家,然后检查是否有任何组合,并确定获胜者。
在我的生成玩家手牌的玩家类中,当我将鼠标悬停在"玩家"上时,我收到一个错误,说"没有给出任何参数来响应Card.Card(Card.Suit,Card.Number)的所需形式参数",尽管我已经研究过了,但到目前为止还无法解决这个问题。
这是代码:
class Player : Card
{
Deck PlayerDeck = new Deck();
public List<Card> hand = new List<Card>();
public void GenerateHand()
{
for (int i = 0; i < 5; i++)
{
Card c = PlayerDeck.RandomCard();
hand.Add(c);
PlayerDeck.deck.Remove(c);
}
}
以及卡类(如果需要):
class Card
{
public enum Combination
{
None, Flush, StraightFlush, Poker,
ThreeKind, FullHouse, TwoPairs, Pair
}
public enum Suit
{
Spades, Hearts, Clubs, Diamonds
}
public enum Number : int
{
Ace = 1, Two, Three, Four, Five, Six, Seven,
Eight, Nine, Ten, Jack, Queen, King
}
public Suit suit;
public Number number;
public Card(Suit s, Number n)
{
suit = s;
number = n;
}
}
谢谢你的帮助。
从Player的类定义中删除: Card
。玩家在逻辑上不是一张牌,所以继承是没有意义的。
为了创建从另一个类继承的类的实例,必须首先调用基类的构造函数。在这种情况下,Card的唯一构造函数接受两个参数。但您还没有为Player定义任何调用Card构造函数的构造函数。在这种情况下,编译器会为Card寻找一个默认(无参数)构造函数,但该构造函数不存在,因此会出现错误。