0
public void boss(final Boss boss) {
forward.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
boss.setHp(boss.getHp() - 1);
log("" + boss.getHp());
}
});
if(boss.getHp() > 0){
boss(boss);
}
}
所以,在上面的代碼中,我試圖讓bossHp每次點擊前減1。代碼有一個stackoverflow錯誤。 (這只是在一個無限循環中調用boss()。)每當用戶點擊前進時,如何讓bossHp減1,然後當bossHp < = 0時停止?按鈕點擊n次時執行的動作
注意:按鈕向前也在其他地方使用。
謝謝!
編輯:對不起這個錯別字!顯示的代碼現在是正確的代碼。有任何想法嗎?謝謝!
澄清:
每一次前進按鈕被點擊我想有發生,爲它檢查bossHp UNTIL bossHp < = 0。在這一點我想退出的方法,但在此之前沒有那麼
您是否看到點擊處理程序或boss函數本身的無限循環?既沒有直接的無限循環,也沒有可能的boss.getHp,boss.setHp或bossCombat。我們需要他們的代碼來檢查。 –
這段代碼片段很好。但我相信你在'bossCombat(boss)'中調用'boss()'會導致inf loop –
'bossCombat()' – FoamyGuy