2012-02-28 14 views
2

私はこのプログラムをやってみたいと思っています。このプログラムは、ユーザーが2つのダイスを必要なだけロールすることを可能にするプログラムですが、サイコロを数字として表示することはできません。イメージ。画像を使ったダイスロールプログラム

そのような私はまだプログラムのループコードを作り、私だけのために乱数を作成する方法を知ってhaventは1

のダイス用

[O]

としてロール、私はちょうど画像のarraylistを作る方法を理解することはできませんコードを実際に数字の代わりに画像を使用する...あなたが私の意味を知っている場合。

ここまでは、私のコードです、助けてくれてありがとう!その後、

 int[] DiceUno = new int[6]; 
     int[] DiceDos = new int[6]; 
     Random rnd = new Random(); 

     Console.WriteLine("This program will allow you to roll two dice"); 
     Console.WriteLine("\nAs many times as you want"); 
     Console.WriteLine("\n\nWhen you want to exit the program, please type (exit)"); 
     Console.WriteLine("\nPress any key to begin rolling"); 
     Console.Read(); 


     for (int i = 0; i < 1; i++) 
     { 
      int diceRoll = 0; 
      diceRoll = rnd.Next(6); 
      DiceUno[diceRoll]++; 
      Console.WriteLine("Dice 1 is rolled a: {0}", diceRoll + 1); 
      diceRoll = rnd.Next(6); 
      DiceDos[diceRoll]++; 
      Console.WriteLine("Dice 2 is rolled a: {0}", diceRoll + 1); 

     } 





    } 
} 

}

+4

私はコーディングを助けることはできませんが、ダイの複数形はサイコロです。ダイスは意味をなさない。それをそこに投げるだけ。 –

+0

本当にそれらの画像ですか、数字の周りにかっこを描いていますか? –

+0

私もそれを理解しました。もしあなたが単にアスキー画像ではなくjpegsのような実際の画像を意味するなら、私の答えを無視してください。 –

答えて

0

なぜ

Dictionary<int, string> valueToDiceImage = new Dictionary<int, string>() 

{ 

{0, "[0]"}, 

{1, "[1]"}, 

{2, "[2]"}, 

{3, "[3]"}, 

{4, "[4]"}, 

{5, "[5]"}, 

{6, "[6]"}, 

}; 

のような単純なものや、同じようにそれを使用:あなたは出力にテキストではなく、番号を使用する場合は

int diceRoll = rnd.next(6); 
System.Console.Write("User Rolled a " + valueToDiceImage[diceRoll] + "\n"); 
+0

私はダイスをするためにASCIIの芸術を使用することを意味していたごめんなさい。 だから私はそれが数字の代わりにdice1、dice2、dice3などのランダムASCIIアートを呼び出すようにarraylistを作成するにはどうすればいいのか –

0

文字列の配列を作成します。

Console.WriteLineを中
string[] images = new string[] 
    { "o", "oo", "ooo", "oooo", "ooooo", "oooooo" }; 

、代わりのdiceRoll + 1は、[diceRoll]画像を置く:

Console.WriteLine("Dice 1 is rolled a: {0}", images[diceRoll]); 

今、あなたはおそらく、(彼らはダイの上に表示される数字を表示するために、3つのラインのイメージを作成、画像を再生することができますドット空きスペース)。

5

これは、すばやく汚れたLINQを使用して動作するはずです。

var die = new Dictionary<int, string> 
{ 
    { 1, "[  ]\n[ o ]\n[  ]" }, //or a path to an image somewhere or anything you want 
    { 2, "[  ]\n[ o o ]\n[  ]" }, 
    { 3, "[ o ]\n[ o o ]\n[  ]" }, 
    { 4, "[ o o ]\n[  ]\n[ o o ]" }, 
    { 5, "[ o o ]\n[ o ]\n[ o o ]" }, 
    { 6, "[ o o ]\n[ o o ]\n[ o o ]" }, 
}; 

do 
{ 
    var shuffled = die.OrderBy(x => Guid.NewGuid()).Take(2); 

    foreach (KeyValuePair<int, string> i in shuffled) 
    { 
     Console.WriteLine(i.Value); 
     Console.WriteLine(); 
    } 
} while (Console.ReadLine() != "(exit)"); 
関連する問題