奇怪的结果在c#app游戏中

时间:2017-10-23 08:56:17

标签: c# android visual-studio xamarin

对于实习项目,我根据Foley音效制作应用程序。我为它做了一个游戏。一个按钮产生效果,一个播放声音,四个按钮用于可能的发射器。

不知何故,文字显示(' helaas'和#ju;!')并不一致。 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;
            }


        }

(我离开按钮和媒体发布,因为它似乎没有相关性)

1 个答案:

答案 0 :(得分:0)

在每个if条件中调用kiesnummer();会给你不同的结果,因为它每次都会产生新的随机值。

调用它一次并使用其值:

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";

}