私はGamblerのようなゲームでソケットプログラミングを練習していますが、少し問題がありました。 私は、プレイヤーが順番に乱数を得るゲームを持っています。数字が加算されて、プレイヤースコアが表示されます。私はあなたが例えば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 false;が' else'で何をしていると思いますか? 'numbersUsed'が' List'であると仮定して 'contains'を使わないのはなぜですか?あなたは 'HashSet'を使うことを考えましたか? –
私はcontainsメソッドについて考えていなかった、ありがとう!しかし、まだ問題は残っている。私はHashSetで読み上げます! –