2012-02-28 83 views
2

我正在盡我所能做這個程序,它是讓程序,讓用戶滾動兩個骰子儘可能多,但骰子滾動不能顯示爲數字,但作爲數字,但作爲一個圖像。C#骰子滾動程序與圖像

[O]

爲1.

模具輥我還沒有作出該程序的循環代碼但只知道如何使隨機數的我只是無法弄清楚如何製作圖像的數組列表,並讓代碼實際使用圖像而不是數字......如果你知道我的意思。

這是我的代碼到目前爲止,感謝您的幫助!

 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

我不能幫助編碼,但死亡的複數是骰子。骰子沒有意義。把它丟去外面。 – 2012-02-29 00:00:19

+0

那些真正的圖像還是隻是在數字的周圍畫出括號? – 2012-02-29 00:31:01

+0

我也是這麼認識的。忽略我的答案,如果你的意思是像jpegs的實際圖像,而不僅僅是ascii圖像。 – 2012-02-29 00:32:21

回答

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藝術而不是數字 – 2012-02-29 00:39:10

0

如果你想輸出的文本,而不是數量,創建一個字符串數組:

string[] images = new string[] 
    { "o", "oo", "ooo", "oooo", "ooooo", "oooooo" }; 

而不是diceRoll + 1 Console.WriteLine把圖像[diceRoll]:

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

現在你可以用圖片播放,也許是創建一個三線的圖像,因爲它們出現在模具顯示的數字(點空的空間)。

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