ゲームで学ぶ!for と whileの使い分け

✅ 使い分けの基本

構文使うときゲームでの例
for回数が決まっているとき敵キャラクターを順番に処理する
while条件が成り立つ間続けるときプレイヤーのHPが0になるまでゲームを続ける

✏️ サンプルコード

【1】for のサンプル

敵全員にダメージを与える

// 5体の敵のHPを配列で管理
int[] enemyHP = { 100, 120, 80, 150, 90 };

// 全ての敵に10ダメージを与える
for (int i = 0; i < enemyHP.Length; i++)
{
    enemyHP[i] -= 10;
    Console.WriteLine($"敵{i + 1}の残りHP: {enemyHP[i]}");
}

ポイント:

  • 敵の数が決まっているので for が最適。
  • 配列の要素を順番に処理するのに便利。

【2】while のサンプル

プレイヤーのHPが0になるまでゲームを続ける

int playerHP = 50;

while (playerHP > 0)
{
    Console.WriteLine($"プレイヤーのHP: {playerHP}");
    Console.Write("敵の攻撃ダメージを入力してください: ");
    int damage = int.Parse(Console.ReadLine());

    playerHP -= damage;

    if (playerHP <= 0)
    {
        Console.WriteLine("プレイヤーは倒されました!");
    }
}

プレイヤーのHPが0以下になったら breakでループを抜ける

int playerHP = 50;

while (true)
{
    Console.WriteLine($"プレイヤーのHP: {playerHP}");
    Console.Write("敵の攻撃ダメージを入力してください: ");
    int damage = int.Parse(Console.ReadLine());

    playerHP -= damage;

    if (playerHP <= 0)
    {
        Console.WriteLine("プレイヤーは倒されました!");
        break; // HPが0以下ならループを終了する
    }
}

✅ ポイント

  • while (true) は無限ループを意味する。
  • 終了条件は if の中で break を使って抜ける。
  • 条件が複雑な場合や途中終了が複数ある場合に便利。

ポイント:

  • プレイヤーが生きている間だけループが続く。
  • 繰り返す回数はユーザーの入力や状況次第。

🔑 まとめ

forwhile
回数が決まっている
状態で終わる
ゲームでの例敵の処理・アイテム巡回HPが0になるまで、ステージクリアまで

🗒️ 追加Tips

  • 敵をオブジェクトとして管理する場合は foreach も便利!
  • 無限ループを作るときは while (true) と書いて、break で抜ける方法もある。

訪問数 6 回, 今日の訪問数 6回

C#,繰り返し

Posted by hidepon