私は完全にプログラミングに新しいです、私はクラスのためのプログラムを作っていました。プロジェクトのために、私は「自ら指導」プログラムを作る必要があります。私は簡単なプログラムを作りたがっていました。私は戦闘シミュレータが欲しかった!だからプログラムのポイントはこれを行うことです: あなたを紹介し、戦いを開始します。攻撃は完全に無作為で、5人のうち1人が0馬力に達するまで、あなたと "敵"の戦いが行われます。私はプログラムを終了し、あなたとあなたの敵の健康を表示し、あなたが勝ったかどうかを教えてください。かなりシンプルですが、特に私が学んだプログラミングの欠如を考えるよりも難しいです。私はちょうどそれを修正するか、またはそれを簡素化するために必要がありますもしあなたが助けることができれば、情報をありがとう!以下のコード:私のプログラムは何度も必要以上にループしていますか?
import java.util.Scanner;
public class TG_UN4EX13 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String rumble = "startvalue";
System.out.println("Welcome to the Ultimate Battle Game!");
System.out.println("Have Fun!");
// Attack Section //
int attack1 = 5;
int attack2 = 10;
int attack3 = 20;
int attack4 = 40;
int cower = 0;
// Character Section//
int playerhealth = 100;
// Character Section//
// Enemy Section//
int enemyhealth = 100;
// Enemy Section//
while (playerhealth >= 0 || enemyhealth >= 0 || rumble.equalsIgnoreCase("Yes")) {
int attacknumber = (int) (Math.random() * (5 - 1 + 1) + 1);
int attacknumber2 = (int) (Math.random() * (5 - 1 + 1) + 1);
if (attacknumber == 1) {
enemyhealth = enemyhealth - attack1;
System.out.println("You used Punch!");
System.out.println("You did " + attack1 + " damage! \n");
} else if (attacknumber == 2) {
enemyhealth = enemyhealth - attack2;
System.out.println("You used Kick!");
System.out.println("You did " + attack2 + " damage! \n");
} else if (attacknumber == 3) {
enemyhealth = enemyhealth - attack3;
System.out.println("You used Jab!");
System.out.println("You did" + attack3 + " damage! \n");
} else if (attacknumber == 4) {
enemyhealth = enemyhealth - attack4;
System.out.println("You used Roundhouse Kick!");
System.out.println("You did " + attack4 + " damage! \n");
} else if (attacknumber == 5) {
enemyhealth = enemyhealth - cower;
System.out.println("You cowered in fear!");
System.out.println("You did " + cower + " damage! \n");
}
if (attacknumber2 == 1) {
playerhealth = playerhealth - attack1;
System.out.println("They used Punch!");
System.out.println("They did " + attack1 + " damage! \n");
} else if (attacknumber2 == 2) {
playerhealth = playerhealth - attack2;
System.out.println("They used Kick!");
System.out.println("They did " + attack2 + " damage! \n");
} else if (attacknumber2 == 3) {
playerhealth = playerhealth - attack3;
System.out.println("They used Jab!");
System.out.println("They did " + attack3 + " damage! \n");
} else if (attacknumber2 == 4) {
playerhealth = playerhealth - attack4;
System.out.println("They used Roundhouse Kick!");
System.out.println("They did " + attack4 + " damage! \n");
} else if (attacknumber2 == 5) {
playerhealth = playerhealth - cower;
System.out.println("They cowered in fear!");
System.out.println("They did " + cower + " damage! \n");
}
System.out.println("You have " + playerhealth + " health!");
System.out.println("They have " + enemyhealth + " health! \n");
}
if (playerhealth > enemyhealth) {
System.out.println("You won!");
System.out.println("Do you want to play again?");
rumble = scan.nextLine();
} else {
System.out.println("You lost!");
System.out.println("Do you want to play again?");
rumble = scan.nextLine();
}
if (rumble.equalsIgnoreCase("no")) {
System.out.println("Well, goodbye!");
System.exit(0);
}
}
}
P.S.これは簡単な編集ですが、ここに例があります:
健康は20です!彼らは20の健康を持っています!
あなたはJab!を使用しました。あなたはダメージ20でした!
ラウンドハウスキックを使用しました!彼らは40のダメージを与えた!
健康は-20です!彼らは0健康を持っています!
あなたはJab!を使用しました。あなたはダメージ20でした!
ラウンドハウスキックを使用しました!彼らは40のダメージを与えた!
あなたは-60の健康を持っています。彼らは-20健康を持っています!
あなたは紛失しました。もう一度遊びたいですか?
コードでさらに移動する前に、IDEのツールを使用してコードを適切に書式設定/インデントします。今のところ、多くの小さな間違いを隠すのに役立つのは読めません。編集:私はあなたの例を書式化しましたが、将来はすべてのプロジェクトで自分自身でそれをやろうとします。 – Pshemo
また、毎回の攻撃の後に健康状態が0であるかどうかを確認して、最近死亡した人に当たっていないようにする必要があります。 – Berdesdan
@Berdesdanあなたがテストする必要がある理由;-) – bated