ゲームを開発しています。
シーンにはピクチャーボックスがあり、ピクチャーボックスの画像は、ユーザーがテキストボックスで画像の正しい名前に答えるとランダムに変化する配列に設定されます。
Int 変数が正しい場合に増加し、間違っている場合に減少するように設定しました。
正解の場合は特定の音を、不正解の場合は特定の音を再生します。
デバッグする理由は、数回は正常に動作し、ボタン 1 クリックで if ではなく else に移動するためです。
そのため、テキストボックスに正しい入力が設定されていても、Int を大きくせず、間違ったオーディオを再生します。コードは次のとおりです。
namespace AngelinaSkriver2
{
public partial class Form1 : Form
{
Bitmap[] bildeListe = new Bitmap[4];
int poengInt;
Random r = new Random();
public Form1()
{
InitializeComponent();
bildeListe[0] = Properties.Resources.ål;
bildeListe[1] = Properties.Resources.ant;
bildeListe[2] = Properties.Resources.apple;
bildeListe[3] = Properties.Resources.arm;
pictureBox1.Image = bildeListe[r.Next(0, 3)];
}
public void button1_Click(object sender, EventArgs e)
{
int tilfeldigBildet = r.Next(0, 3);
SoundPlayer riktigLyd = new SoundPlayer("lyd/applause.wav");
SoundPlayer feilLyd = new SoundPlayer("lyd/feil.wav");
if (pictureBox1.Image == bildeListe[0])
{
if (textBox1.Text.Trim().ToLower() == "ål")
{
riktigLyd.Play();
poengInt += 1;
textBox1.Text = "";
pictureBox1.Image = bildeListe[tilfeldigBildet];
}
else
{
feilLyd.Play();
poengInt -= 1;
textBox1.Text = "";
}
String poengString = poengInt.ToString();
label1.Text = poengString;
}
if (pictureBox1.Image == bildeListe[1])
{
if (textBox1.Text.Trim().ToLower() == "maur")
{
riktigLyd.Play();
poengInt += 1;
textBox1.Text = "";
pictureBox1.Image = bildeListe[tilfeldigBildet];
}
else {
feilLyd.Play();
poengInt -= 1;
textBox1.Text = "";
}
String poengString = poengInt.ToString();
label1.Text = poengString;
}
if (pictureBox1.Image == bildeListe[2])
{
if (textBox1.Text.Trim().ToLower() == "eple")
{
riktigLyd.Play();
poengInt += 1;
textBox1.Text = "";
pictureBox1.Image = bildeListe[tilfeldigBildet];
}
else
{
feilLyd.Play();
poengInt -= 1;
textBox1.Text = "";
}
String poengString = poengInt.ToString();
label1.Text = poengString;
}
if (pictureBox1.Image == bildeListe[3])
{
if (textBox1.Text.Trim().ToLower() == "arm")
{
riktigLyd.Play();
poengInt += 1;
textBox1.Text = "";
pictureBox1.Image = bildeListe[tilfeldigBildet];
}
else
{
feilLyd.Play();
poengInt -= 1;
textBox1.Text = "";
}
String poengString = poengInt.ToString();
label1.Text = poengString;
}
}
機能しない原因が見つからないようです。何かを見落としていますか?