2012-03-28 38 views
1

我試圖通過我自己的手開發我的第一個XNA遊戲,只是看教程的來源,並思考我自己的實現和解決方案。目前,我正在製作一個泡泡射擊遊戲,並且我正在各自的位置上繪製泡泡。無法選擇一個精靈來隨機抽取

事情是,我實施了兩種類型的氣泡。程序選擇通過隨機發生器繪製哪種類型(0或1表示藍色或紅色),並根據結果將選定的類型繪製到屏幕中。這種方法行不通,而且我耗盡了我的搜索資源。代碼如下

for (int colBubCounter = 0; colBubCounter < maxVerticalBubNumber/2; colBubCounter++) 
     { 
      for (int rowBubCounter = 0; rowBubCounter < maxHorizontBubNumber; rowBubCounter++) 
      { 

       Rectangle bubbleDrawRectangle = new Rectangle(initDrawCoordX, initDrawCoordY, bubbleWidth, bubbleHeight); 
       //Randomizamos el tipo de burbujar a dibujar (0 = blue, 1 = red) 
       bubbleType = randomGenerator.Next(0, 1); 
       if (bubbleType == 0) spriteBatch.Draw(blueBubbleSprite, bubbleDrawRectangle, Color.White); 
       else if (bubbleType == 1) spriteBatch.Draw(redBubbleSprite, bubbleDrawRectangle, Color.White); 

       //Cada vez que dibujamos uno, corremos la coordenada a dibujar en el otro ciclo en 10 pixeles 
       initDrawCoordX += bubbleWidth; 
      } 

      initDrawCoordX = 0; 
      initDrawCoordY += bubbleHeight; 
     } 

隨着

System.Random randomGenerator = new System.Random(); 
我不使用類或什麼比原始代碼更

,因爲我走的是增量步發展,一旦這種準備,我我會用類和其他奇特的東西來做同樣的事情。

感謝您的幫助,請讓我知道如果我在這個問題上做錯了什麼,這是我第一次在StackOverflow中。 :)

+0

你寫了很多,但沒有真正清楚你要問什麼,從我理解你想要產生隨機數字,並基於它們爲你的氣泡着色,你問如何做到這一點? – 2012-03-28 02:50:15

+0

@LyubenTodorov哎呀,對不起。是的,那正是我的問題。 – Sebastialonso 2012-03-28 03:18:29

回答

1

randomGenerator.Next(0, 1);將始終返回0,因爲maxValue(upper)綁定是排他性的。你需要使用randomGenerator.Next(0, 2)來創建零和一。

+0

哇。那樣做了。看來我的隨機發生器的來源是錯誤的。非常感謝! – Sebastialonso 2012-03-28 03:14:30

1

您正在使用)與2-重載告訴它的範圍是0和1之間的意思隨機方法下一頁(它總是return 0

這是因爲上部boundry(在這種情況下1)是excluse ,在其從0到1,但不包括1 ...所以它從0到0

嘗試bubbleType = randomGenerator.Next(2);

bubbleType = randomGenerator.Next(0, 2);

和Random類的提示,儘量做到l類evel,並且只使用1個對象來獲得更隨機的數字生成(創建一個新的對象通常傾向於給出與其僞隨機數字相同的數字)

+0

感謝提示,我不知道最後一部分。 – Sebastialonso 2012-03-30 22:00:49