我正在使用Visual C#(Winforms應用程序)的遊戲工作,該工具的導彈來自面板的所有4邊,隨機速度,損傷和軸值的位置。在初始化變量時使用的所有隨機Next()函數使用包含在另一個類中的相同Random變量,並用於所有隨機用法。隨機變量選擇相同的值,儘管單個實例
但是,對於20枚導彈陣列,多次選擇相同的座標值作爲座標,以便由於圖像重疊而只有3或4枚導彈可視。這也發生在速度和側面變量上,並且可能與損壞變量相關,但是我還沒有檢查。
導彈是矩形與其中包含的圖像。 X和Y座標受到導彈擴展的GameObject類中包含的旋轉移動值的影響,這意味着我必須用縮放值分割和倍數以在像素座標和texal座標之間切換。
以下是導彈一旦到達面板側面而不擊中玩家就會重新生成的代碼。
side = game.rand.Next(1, 4);
switch (side)
{
case 1:
angle = 90;
x = game.rand.Next((int)(30/xScale), (int)(990/xScale));
y = (int)(30/yScale);
break;
case 2:
x = (int)(1000/xScale);
y = game.rand.Next((int)(30/yScale), (int)(610/yScale));
break;
case 3:
angle = 180;
x = game.rand.Next((int)(30/xScale), (int)(990/xScale));
y = (int)(610/yScale);
break;
case 4:
angle = -90;
x = (int)(30/xScale);
y = game.rand.Next((int)(30/yScale), (int)(610/yScale));
break;
}
game.rand是存儲在另一個類中的常見隨機變量。它應該選擇沿y軸或x軸的隨機變量,但通常只選擇2個不同的值,儘管這種方法被稱爲20次。
歡迎任何和所有建議。非常感謝您的閱讀。
[MSDN](https://msdn.microsoft.com/en-us/library/2dx6wyd4(v = vs.110).aspx)文檔說_MaxValue_是獨佔的,意味着案例4無效。 –