我討厭在這裏問一個家庭作業問題,但我無法提供幫助。我在學校參加一個ActionScript課程,這是我第一次學習一門編程語言,所以我覺得自己很不習慣。需要幫助的同時循環調試ActionScript
問題是讓RPG遊戲在循環時練習。
var fighter1:String = "Wonder Woman";
var fighter2:String = "Ms. Marvel";
var health1:uint = 300;
var health2:uint = 180;
var damage1:uint = 30;
var damage2:uint = 40;
while (health1 >= 0 && health2 >= 0)
{
var damageDealt1:uint = Math.random() * damage1;
var damageDealt2:uint = Math.random() * damage2;
var attack1:uint = health2 - damageDealt1;
var attack2:uint = health1 - damageDealt2;
health1 = attack2;
health2 = attack1;
trace("After attack: " + fighter1 + " HP: " + health1 + ", " +
fighter2 + " HP: " + health2);
}
if (health1==0&&health2==0){
trace("They both died in battle! There will now be WAR!");
} else if (health1==0) {
trace(fighter2 + " won!");
} else {
trace(fighter1 + " won!"
}
正如你可能知道的那樣,damage1是戰士1的潛在傷害,damageDealt1是每次攻擊造成的傷害。
一切似乎只是當我運行它,我得到正常工作的:
After attack: Wonder Woman HP: 4280752046, Ms. Marvel HP: 4284398685
After attack: Wonder Woman HP: 4280752039, Ms. Marvel HP: 4284398660
After attack: Wonder Woman HP: 4280752024, Ms. Marvel HP: 4284398658
After attack: Wonder Woman HP: 4280752018, Ms. Marvel HP: 4284398639
After attack: Wonder Woman HP: 4280751997, Ms. Marvel HP: 4284398638
After attack: Wonder Woman HP: 4280751996, Ms. Marvel HP: 4284398612
After attack: Wonder Woman HP: 4280751994, Ms. Marvel HP: 4284398609
循環往復......
我把它翻譯到PHP和它工作得很好,我只是弄清楚我在這裏做錯了什麼。
任何想法?提前致謝。
使用int,不是UINT,因爲你的價值觀永遠不會達到小於0。 – turbosqel