Sunday, May 24, 2009

Shanti C# - Card Class - Homework Part 1

The Card class question, as a continuation from Misa's previous post (well, it's more like the prequel, cos this is part 1 :) ).

namespace SimpleCard
{
public class SimpleCard
{
//fields
private int cardValue; //instance variable

public const int ACE = 1;
public const int TWO = 2;
public const int THREE = 3;
public const int FOUR = 4;
public const int FIVE = 5;
public const int SIX = 6;
public const int SEVEN = 7;
public const int EIGHT = 8;
public const int NINE = 9;
public const int TEN = 10;
public const int JACK = 11;
public const int QUEEN = 12;
public const int KING = 13;

public static int CardInASet = 13;

//properties
//cardValue
public int CardValue
{
get { return cardValue; }
set { cardValue = value; }
}

//constructors
public SimpleCard() //null constructor
{
cardValue = 1;
}

public SimpleCard(int _cardValue)
{
cardValue = _cardValue;
}

public SimpleCard(string _cardValueName)
{
switch (_cardValueName)
{
case "ACE":
cardValue = 1;
break;
case "TWO":
cardValue = 2;
break;
case "THREE":
cardValue = 3;
break;
case "FOUR":
cardValue = 4;
break;
case "FIVE":
cardValue = 5;
break;
case "SIX":
cardValue = 6;
break;
case "SEVEN":
cardValue = 7;
break;
case "EIGHT":
cardValue = 8;
break;
case "NINE":
cardValue = 9;
break;
case "TEN":
cardValue = 10;
break;
case "JACK":
cardValue = 11;
break;
case "QUEEN":
cardValue = 12;
break;
case "KING":
cardValue = 13;
break;
}
}

//methods
//instance method
public string getCardName()
{
string cardName = "";
switch (cardValue)
{
case 1:
cardName = "ACE";
break;
case 2:
cardName = "TWO";
break;
case 3:
cardName = "THREE";
break;
case 4:
cardName = "FOUR";
break;
case 5:
cardName = "FIVE";
break;
case 6:
cardName = "SIX";
break;
case 7:
cardName = "SEVEN";
break;
case 8:
cardName = "EIGHT";
break;
case 9:
cardName = "NINE";
break;
case 10:
cardName = "TEN";
break;
case 11:
cardName = "JACK";
break;
case 12:
cardName = "QUEEN";
break;
case 13:
cardName = "KING";
break;
}//end switch

return cardName;
}

public string getInfo()
{
string cardInfo = "";
switch (cardValue)
{
case 1:
cardInfo = "ACE " + cardValue.ToString();
break;
case 2:
cardInfo = "TWO " + cardValue.ToString();
break;
case 3:
cardInfo = "THREE " + cardValue.ToString();
break;
case 4:
cardInfo = "FOUR " + cardValue.ToString();
break;
case 5:
cardInfo = "FIVE " + cardValue.ToString();
break;
case 6:
cardInfo = "SIX " + cardValue.ToString();
break;
case 7:
cardInfo = "SEVEN " + cardValue.ToString();
break;
case 8:
cardInfo = "EIGHT " + cardValue.ToString();
break;
case 9:
cardInfo = "NINE " + cardValue.ToString();
break;
case 10:
cardInfo = "TEN " + cardValue.ToString();
break;
case 11:
cardInfo = "JACK " + cardValue.ToString();
break;
case 12:
cardInfo = "QUEEN " + cardValue.ToString();
break;
case 13:
cardInfo = "KING " + cardValue.ToString();
break;
}//end switch

return cardInfo;
}
}
}


This part is the form implementation:
namespace SimpleCard
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
if (txtCard.Text != "")
{
try //for integer
{
int iCardVal = int.Parse(txtCard.Text.ToString().Trim());

if (iCardVal > 0 && iCardVal <= 13)
{
SimpleCard myCard = new SimpleCard(iCardVal);
MessageBox.Show("Card is " + myCard.getInfo());
}
else
MessageBox.Show("Card does not exist");

}
catch //for string
{
string myCardName = txtCard.Text.ToString().Trim().ToUpper();
SimpleCard myCard = new SimpleCard(myCardName);
MessageBox.Show("Card is " + myCard.getInfo());
}

}
else
{
MessageBox.Show("Enter a value");
txtCard.Focus();
}
}

private void btnDisplayAllCards_Click(object sender, EventArgs e)
{
string myCardNames = "";
for (int i = 1; i <= 13; i++)
{
SimpleCard card = new SimpleCard(i);
myCardNames += " " + card.getCardName();
}
MessageBox.Show(myCardNames);

}
}
}

No comments:

Post a Comment