1 回答

TA貢獻1744條經驗 獲得超4個贊
首先,您需要有某種方法來確定是計算機還是用戶獲勝。(由于您正在練習 OOP,一種方法可能是最合適的)查看您的代碼,看起來每個Die都只有一個值,因此您必須不斷重新創建對象。我建議使用一種roll()返回 1 到 6 之間隨機數的方法。這樣您就不必在循環的每次迭代中創建新對象。
其次,您需要一種方法來確定用戶是否獲勝。一種簡單的方法是讓該方法接受一個int參數,然后將其與當前Die對象的值進行比較。以下是一些代碼,可幫助您朝著正確的方向開始:
public int roll() {
//generate random number
}
public boolean wonRoll(int value) {
if(this.getValue() > value) {
return true;
} else {
return false;
}
}
然后在你的循環中:
int computerWins = 0;
int userWins = 0;
Die userDie = new Die();
Die computerDie = new Die();
for (int i=0;i<COUNT;i++) {
System.out.println("user: "+userDie.getValue());
System.out.println("computer: "+computerDie.getValue());
if(userDie.wonRoll(computerDie.getValue()) {
userWins++;
} else {
computerWins++;
}
}
System.out.println("Computer won " + computerWins + " many times");
System.out.println("User won " + userWins + " many times");
添加回答
舉報