2022 - Card
This is the base class for all cards. Remember, 'protected' means that it is available only within this class and any subclasses. Also remember a method marked as 'virtual' can be overridden in a subclass.
The Code
class Card
{
protected int CardNumber, Score;
protected static int NextCardNumber = 1;
public Card()
{
CardNumber = NextCardNumber;
NextCardNumber += 1;
Score = 0;
}
public virtual int GetScore()
{
return Score;
}
public virtual void Process(CardCollection deck, CardCollection discard,
CardCollection hand, CardCollection sequence, Lock currentLock,
string choice, int cardChoice)
{
}
public virtual int GetCardNumber()
{
return CardNumber;
}
public virtual string GetDescription()
{
if (CardNumber < 10)
{
return " " + CardNumber.ToString();
}
else
{
return CardNumber.ToString();
}
}
}
The Constructor Method
Remember the constructor method of a class is a public method called exactly the same name as the class. So in this case:
public Card()
{
CardNumber = NextCardNumber;
NextCardNumber += 1;
Score = 0;
}