Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#应用程序游戏中的怪异结果_C#_Android_Visual Studio_Xamarin - Fatal编程技术网

c#应用程序游戏中的怪异结果

c#应用程序游戏中的怪异结果,c#,android,visual-studio,xamarin,C#,Android,Visual Studio,Xamarin,为了一个实习项目,我正在制作一个基于福利音效的应用程序。我为此做了一个游戏。一个按钮产生效果,一个按钮播放声音,四个按钮用于播放可能的声音 不知何故,文本显示(“helaas”和“juist!”)并不一致。awnser可能是正确的,它将显示“helaas”,但当多次单击时,它将显示“juist!”。谁能帮我解决我在这里做错了什么 int kiesnummer() { Random randomSound = new Random();

为了一个实习项目,我正在制作一个基于福利音效的应用程序。我为此做了一个游戏。一个按钮产生效果,一个按钮播放声音,四个按钮用于播放可能的声音

不知何故,文本显示(“helaas”和“juist!”)并不一致。awnser可能是正确的,它将显示“helaas”,但当多次单击时,它将显示“juist!”。谁能帮我解决我在这里做错了什么

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
,这将创建一个新的随机数。谢谢,我没有想到这一点!