1 回答

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊
首先,您需要有某種方法來(lái)確定是計(jì)算機(jī)還是用戶獲勝。(由于您正在練習(xí) OOP,一種方法可能是最合適的)查看您的代碼,看起來(lái)每個(gè)Die都只有一個(gè)值,因此您必須不斷重新創(chuàng)建對(duì)象。我建議使用一種roll()返回 1 到 6 之間隨機(jī)數(shù)的方法。這樣您就不必在循環(huán)的每次迭代中創(chuàng)建新對(duì)象。
其次,您需要一種方法來(lái)確定用戶是否獲勝。一種簡(jiǎn)單的方法是讓該方法接受一個(gè)int參數(shù),然后將其與當(dāng)前Die對(duì)象的值進(jìn)行比較。以下是一些代碼,可幫助您朝著正確的方向開(kāi)始:
public int roll() {
//generate random number
}
public boolean wonRoll(int value) {
if(this.getValue() > value) {
return true;
} else {
return false;
}
}
然后在你的循環(huán)中:
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");
添加回答
舉報(bào)