私は単純なサイコロゲームをコーディングしています。フォームは 3 つのテキスト ボックスと多数のラベルで構成されます (後で 1 つのテキスト ボックスをラベルに変更します)。
左上隅に 3 つのサイコロの値が表示されます。
ギャンブルのテキストボックスの左に合計金額が表示されます。
- ギャンブルテキストボックスにあなたの推測を入力します
- インゼットのテキストボックスに、賭けたい金額を入力します
- 賞金のテキストボックスに、獲得した金額が表示されます
基準、
- 3 つの 6 を投げると、20 のボーナスが得られます。
- 6 未満のセットを投げると、10 のボーナスが得られます。
- 何かを2倍に投げると、5のボーナスが得られます
- ギャンブルが正しければ、インゼットが 2 倍になります (インゼット = 1 で 2 勝)。
- 賞金はボーナス + インゼットを表示する必要があります
問題は、あなたのギャンブルが合計金額に等しく、+5 ボーナスのみを適用するように見える場合にのみ、賞金が更新されることです。
コードは次のとおりです。
{
public partial class Form1 : Form
{
private Random throwDice = new Random();
private int total;
private int inzet;
private int gamble;
private int prize;
private int bonus;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int die1, die2, die3;
die1 = throwDice.Next(1, 7);
die2 = throwDice.Next(1, 7);
die3 = throwDice.Next(1, 7);
label1.Text = die1.ToString();
label2.Text = die2.ToString();
label3.Text = die3.ToString();
label4.Text = Convert.ToString(die1 + die2 + die3);
total = Convert.ToInt32(label4.Text);
inzet = Convert.ToInt32(textBox1.Text);
gamble = Convert.ToInt32(textBox2.Text);
if (gamble == total)
{
if (die1 == 6 && die1 == die2 && die1 == die3)
{
bonus = 20;
}
else if (die1 == die2 && die1 == die3)
{
bonus = 10;
}
else if (die1 == die2)
{
bonus = 5;
}
else if (die2 == die3)
{
bonus = 5;
}
else if (die1 == die3)
{
bonus = 5;
}
prize = inzet * 2 + bonus;
textBox3.Text = prize.ToString();
}
else if (gamble < total && gamble > total)
{
if (die1 == 6 && die1 == die2 && die1 == die3)
{
bonus = 20;
}
else if (die1 == die2 && die1 == die3 )
{
bonus = 10;
}
else if (die1 == die2)
{
bonus = 5;
}
else if (die2 == die3)
{
bonus = 5;
}
else if (die1 == die3)
{
bonus = 5;
}
prize = (inzet - inzet) + bonus;
textBox3.Text = prize.ToString();
}
}
}
6 6 6 ボーナス (およびその他のセット ボーナス) を機能させる必要があります。また、あなたのギャンブルがサイコロの合計と等しくない場合に適用するボーナスが必要です.