c#应用程序游戏中的怪异结果
为了一个实习项目,我正在制作一个基于福利音效的应用程序。我为此做了一个游戏。一个按钮产生效果,一个按钮播放声音,四个按钮用于播放可能的声音 不知何故,文本显示(“helaas”和“juist!”)并不一致。awnser可能是正确的,它将显示“helaas”,但当多次单击时,它将显示“juist!”。谁能帮我解决我在这里做错了什么c#应用程序游戏中的怪异结果,c#,android,visual-studio,xamarin,C#,Android,Visual Studio,Xamarin,为了一个实习项目,我正在制作一个基于福利音效的应用程序。我为此做了一个游戏。一个按钮产生效果,一个按钮播放声音,四个按钮用于播放可能的声音 不知何故,文本显示(“helaas”和“juist!”)并不一致。awnser可能是正确的,它将显示“helaas”,但当多次单击时,它将显示“juist!”。谁能帮我解决我在这里做错了什么 int kiesnummer() { Random randomSound = new Random();
int kiesnummer()
{
Random randomSound = new Random();
int theSound = randomSound.Next(1, 4);
return theSound;
}
NewSound.Click += delegate
{
kiesnummer();
if (kiesnummer() == 1)
{
welk.Text = "Open haard";
}
else if (kiesnummer() == 2)
{
welk.Text = "Regen";
}
else if (kiesnummer() == 3)
{
welk.Text = "Hondenpootjes op hout";
}
else if (kiesnummer() == 4)
{
welk.Text = "Paardenhoeven op beton";
}
};
Play.Click += delegate
{
if (kiesnummer() == 1)
{
_chips.Start();
}
else if (kiesnummer() == 2)
{
_rain.Start();
}
else if (kiesnummer() == 3)
{
_doggo.Start();
}
else if(kiesnummer() == 4)
{
_koko.Start();
}
};
//Parameters aan functie koppelen bij klikken op de knop
Aw1.Click += delegate
{
kiesknop(1);
};
Aw2.Click += delegate
{
kiesknop(2);
};
Aw3.Click += delegate
{
kiesknop(3);
};
Aw4.Click += delegate
{
kiesknop(4);
};
//Beoordelen of keuze juist of onjuist is
bool kiesknop(int knop)
{
if (knop == kiesnummer())
{
end.Text = "Juist!";
return true;
}
else
{
end.Text = "Helaas!";
return false;
}
}
(我忽略了按钮和媒体删除,因为它似乎不相关)调用kiesummer()
在每个if条件下都会产生不同的结果,因为它每次都会生成新的随机值
调用它一次并使用它的值:
int value = kiesnummer();
if (value == 1)
{
welk.Text = "Open haard";
}
else if (value == 2)
{
welk.Text = "Regen";
}
else if (value) == 3)
{
welk.Text = "Hondenpootjes op hout";
}
else if (value == 4)
{
welk.Text = "Paardenhoeven op beton";
}
每次调用
kiesummer
时,您都会创建一个新的随机数。如果你想比较猜测和播放的声音,你必须存储一些声音,而不是再次调用kiesummer
,这将创建一个新的随机数。谢谢,我没有想到这一点!