ゲームで学ぶ!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 を使って抜ける。
- 条件が複雑な場合や途中終了が複数ある場合に便利。
ポイント:
- プレイヤーが生きている間だけループが続く。
- 繰り返す回数はユーザーの入力や状況次第。
🔑 まとめ
for | while | |
---|---|---|
回数が決まっている | ◎ | △ |
状態で終わる | △ | ◎ |
ゲームでの例 | 敵の処理・アイテム巡回 | HPが0になるまで、ステージクリアまで |
🗒️ 追加Tips
- 敵をオブジェクトとして管理する場合は foreach も便利!
- 無限ループを作るときは while (true) と書いて、break で抜ける方法もある。
訪問数 6 回, 今日の訪問数 6回
ディスカッション
コメント一覧
まだ、コメントがありません