我正在研究類似賭徒的遊戲來練習套接字編程,而且我遇到了一個小問題。 我有一個遊戲,玩家輪流獲得一個隨機數。這些數字加在一起就有玩家分數。我正在努力做到這一點,如果你舉個例子拉7 - 你不能再得到它。 我一直在試圖至今: 編輯:Java - 限制基於較早值的隨機結果
private void pick() {
Number r = new Number(getNumber(), new Vector2(200, 10));
myNumbers.add(r);
sendMessage(output, "Number" + r.value);
}
private int getNumber() {
int n = random.nextInt(10);
while(numberHasBeenPicked(n)) {
n = random.nextInt(10);
}
return n;
}
private boolean numberHasBeenPicked(int value) {
if(numbersUsed.contains(value))
return true;
else
return false;
}
另外,sendMessage()
功能數字相加的numbersUsed
在服務器和客戶端列表,以便這兩個程序知道已採取哪些
/編輯
但我沒有得到我要找的結果。我不知道還有什麼可說的,因爲我得到的錯誤基本上是我仍然得到已使用的數字,即使我確定它們已被放入numbersUsed
列表中。
任何幫助將不勝感激,我很抱歉,如果缺乏信息。
什麼是'numbersUsed'? –
你覺得'返回false;'在'else'中做什麼?爲什麼不使用'contains',假設'numbersUsed'是一個'List'?你有沒有考慮過使用'HashSet'? –
我不知道包含的方法,謝謝!但問題仍然存在。我將閱讀HashSet! –