1

4チットをランダムに投げるアプリを作っています。ボタンをクリックして乱数を生成しました。乱数は1から4の間で生成されます。

私の質問は、4つの画像をそれらの番号に関連付けるにはどうすればよいですか?1がランダムに来る場合、1.jpgが表示されるはずです。私のプログラミング言語はc#で、VisualStudio2012で動作しています。

public sealed partial class MainPage : Page

{

   Random rand = new Random();

 public MainPage()
    {

        this.InitializeComponent();
    }

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
    }

    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
        int num=rand.Next(1,5);
        textblock1.Text=num.ToString();
    }}}

テキストブロックに数字を表示しています。ランダムに表示する必要のある4つの画像があります。私の質問は、それらをどこにどのように表示するかです。

4

5 に答える 5

3

この方法を使用しました

private void Button_Click_1(object sender, RoutedEventArgs e)

    {

        Random rand = new Random();
        int dice = rand.Next(1, 5);

        switch (dice)
        {
            case 1:

                Image1.Source = new BitmapImage(new Uri(@"ms-appx:///Assets/1.png"));

                break;
            case 2:

                two.Source = new BitmapImage(new Uri(@"ms-appx:///Assets/2.png"));
                break;
            case 3:

                three.Source = new BitmapImage(new Uri(@"ms-appx:///Assets/3.png"));
                break;
            case 4:

                four.Source = new BitmapImage(new Uri(@"ms-appx:///Assets/4.png"));
                break;

        }

    }for bitmap image refrence will be "using Windows.UI.Xaml.Media.Imaging;"
于 2013-03-24T04:20:58.203 に答える
1

生成された番号を次のようなファイル名に置き換えることができます。

string.Format("{0}.jpg", generatedNumber);

コードはごくわずかで、「if」や「switch」は必要ありません。

また、正しいファイル名とエラー処理を決定するロジックを含む別のコンポーネント(I)FileNameResolverを作成します。それをコードで使用します。

于 2013-03-12T17:42:07.140 に答える
0

どうですか:

Random rand = new Random();

Bitmap GetRandomImage(){
    Bitmap bmp;
    int n = rand.Next(0, 4);

    if(n == 0)
       bmp = new Bitmap("mypath1");
    else if(n == 1)
       bmp = new Bitmap("mypath2");
    else if(n == 2)
       bmp = new Bitmap("mypath3");
    else
       bmp = new Bitmap("mypath4");

    return bmp;
}

または、ファイルの名前を変更して、次のようなものを使用することもできます。

Random rand = new Random();

Bitmap GetRandomImage(){
    int n = rand.Next(0, 4);

    return new Bitmap(string.Format("mypath\\{0}.jpg", n));
}
于 2013-03-12T17:44:03.057 に答える
0

ランダムrand=new Random(); int randomPosition = rand.Next(0、9);

            lblEnglish.Text = sw.EnglishHeartSentence[randomPosition];
            lblShona.Text = sw.shonaSentence[randomPosition];
            switch (randomPosition)
            {
                case 0:
                    mainPicBox.Image = Funda_isizulu_.Properties.Resources.diarrhea_900x600px;
                    break;
                case 1:
                    mainPicBox.Image = Funda_isizulu_.Properties.Resources.hunger1; ;
                    break;
                case 2:
                    mainPicBox.Image = Funda_isizulu_.Properties.Resources.stomachache1;
                    break;
                case 3:
                    mainPicBox.Image = Funda_isizulu_.Properties.Resources.full_clipart_1;
                    break;
                case 4:
                    mainPicBox.Image = Funda_isizulu_.Properties.Resources.Top_10_Foods_To_Relieve_Menstrual_Cramps_1;
                    break;
                case 5:
                    mainPicBox.Image = Funda_isizulu_.Properties.Resources.preg;
                    break;
                case 6:
                    mainPicBox.Image = Funda_isizulu_.Properties.Resources.belly;
                    break;
                case 7:
                    mainPicBox.Image = Funda_isizulu_.Properties.Resources.a_man_with_visible_spine_holds_his_back;
                    break;
                case 8:
                    mainPicBox.Image = Funda_isizulu_.Properties.Resources.bell;
                    break;
                case 9:
                    mainPicBox.Image = Funda_isizulu_.Properties.Resources.coffee_growl_905;
                    break;

            }
于 2018-06-28T23:32:55.727 に答える
-1

えー、

switch (number)
{
    case 1:
        return "1.jpg";
    case 2:
        return "2.jpg";
    case 3:
        return "3.jpg";
    case 4:
        return "4.jpg";
    default:
        throw ArgumentException("number");
}

それはすべて本当に依存します、

どうですか、

private static readonly WhateverTypeMyImagesNeedToBe[] images =
    {
        new WhateverTypeMyImagesNeedToBe("1.jpg"),
        new WhateverTypeMyImagesNeedToBe("2.jpg"),
        new WhateverTypeMyImagesNeedToBe("3.jpg"),
        new WhateverTypeMyImagesNeedToBe("4.jpg")
    }

private static WhateverTypeMyImagesNeedToBe GetRandomImage()
{
    return images[new Random().Next(0, images.Length)];
}
于 2013-03-12T17:43:02.150 に答える