我有一段時間想着以下,我想做一個按鈕來隨機化一些技能的整個值。問題是我有10點要分配4個技能,這個想法是選擇不超過10分的隨機數。隨機化值而不超過值?
我原以爲在這個
public int startPts = 10, usedPts = 0;
public int skill1 = 0, skill2 = 0, skill3 = 0, skill4 = 0;
public void ButtonRandom(){
startPts = 10;
usedPts = 0;
skill1 = Random.Range(1, 10);
usedPts += skill1;
skill2 = Random.Range(1, usedPts);
usedPts += skill2;
skill3 = Random.Range(1, usedPts);
usedPts += skill3;
skill4 = startPts - usedPts;
usedPts += skill4;
startPts = startPts - usedPts;
}
我也試着與幾個條件語句和重複的方法,但我沒有得到期望的結果。由於有時超過了10分,因此在放置條件時不使用或僅改變前2個數值。
謝謝,夥計們。
您的上次作業需要分配剩餘點數,而不是嘗試猜測隨機數。 「skill4 = startPts - usedPts」 – Aaron
你確定你實際上並不想使用Random.Range(1,startPts - usedPts);'?現在你的號碼並沒有考慮到有多少點可用。 – Serlite
@Aaron是的,你是對的我現在編輯那部分,謝謝。 –