私は C# の初心者で、カードゲームを作りたいと思っています。私が持っているのは、c6, s3, h11, d13
wherecharacter represents the colour
や the のような名前のカード (文字列) のリストですnumber represents the value
。ボタンを押すと、プログラムはリストからランダムな文字列を取得し、テキスト ボックスに表示します。そこから、ゲームのポイントは、次のランダムなカードが前のカードよりも高い値または低い値を持つかどうかを推測することです.
私がやりたいことは、テキスト ボックスから文字列を取得し、それを int に変換して、前のカードの値と新しいカードの値を比較できるようにすることです。唯一の問題は、を使用して変換できるように、 c
inを取り除く方法です。c6
parse
これは私のコードです。
public partial class MainWindow : Window
{
static Random rndmlist = new Random();
Random rndm = new Random();
List<string> deck = new List<string>();
int score = 0;
public MainWindow()
{
InitializeComponent();
}
private void test_Click(object sender, RoutedEventArgs e)
{
//disregard this
foreach (string j in deck)
{
testbox.Text += j + ", ";
}
}
private void btnstart_Click(object sender, RoutedEventArgs e)
{
//this is where i add all the cards to the list
for (int i = 1; i <= 13;)
{
deck.Add("c" + i);
i++;
}
for (int i = 1; i <= 13; )
{
deck.Add("s" + i);
i++;
}
for (int i = 1; i <= 13; )
{
deck.Add("h" + i);
i++;
}
for (int i = 1; i <= 13; )
{
deck.Add("d" + i);
i++;
}
}
private void btnbegin_Click(object sender, RoutedEventArgs e)
{
//this is where i take a random card from the list and display it in textBox2
int r = rndmlist.Next(deck.Count);
textBox2.Text = ((string)deck[r]);
//disregard this
testbox.Text += ((string)deck[r]) + ", ";
deck.Remove((string)deck[r]);
}
private void btnhigh_Click(object sender, RoutedEventArgs e)
{
//this is where i want to compare the cards.
}
}
これを読んでくれてありがとう。(: