C#初学者向け技術資料:変数・条件式・繰り返しを使ったサンプルアプリ

目的

この資料は、C#の基本的なプログラミング要素である「変数」「条件式」「繰り返し」の学習をサポートするために作成されました。サンプルコードを通じて、基礎的なロジック構築と実践的なスキルを学ぶことを目的とします。


基本的な構造

変数

プログラム内でデータを保存するための箱のようなものです。

  • 例: プレイヤーの体力を管理する int health

条件式

特定の条件を満たした場合に異なる処理を実行します。

  • 例: if (health <= 0) で体力が0以下の場合にゲーム終了。

繰り返し

同じ処理を一定回数または特定の条件を満たすまで実行します。

  • 例: while を使ったゲームの進行ループ。

サンプルコード:プレイヤー体力管理ゲーム

以下は、C#を使った簡単なコンソールアプリのサンプルです。プレイヤーが敵から受けるダメージを入力し、体力がなくなるとゲームオーバーとなります。

using System;

class Program
{
    static void Main(string[] args)
    {
        int health = 100; // プレイヤーの体力

        Console.WriteLine("【体力管理ゲーム】");
        Console.WriteLine("プレイヤーの体力は 100 です。");
        Console.WriteLine("敵の攻撃ダメージを入力してください(例: 10, 20, 30)。");

        while (health > 0)
        {
            Console.Write("ダメージ: ");
            int damage = int.Parse(Console.ReadLine()); // 入力を数値に変換
            health -= damage; // 体力を減らす

            if (health <= 0)
            {
                Console.WriteLine("やられました...");
                break; // ループ終了
            }

            Console.WriteLine($"残り体力: {health}");
        }

        Console.WriteLine("ゲームオーバー");
    }
}

コード解説

1. 変数の利用

int health = 100;
  • プレイヤーの初期体力を設定します。

2. 条件式

if (health <= 0)
{
    Console.WriteLine("やられました...");
    break;
}
  • 体力が0以下になった場合に、ゲーム終了メッセージを表示し、ループを終了します。

3. 繰り返し処理

while (health > 0)
{
    // 繰り返し処理の中身
}
  • プレイヤーの体力が0になるまで、ゲームが進行します。

実行結果例

正常なプレイ

【体力管理ゲーム】
プレイヤーの体力は 100 です。
敵の攻撃ダメージを入力してください(例: 10, 20, 30)。
ダメージ: 20
残り体力: 80
ダメージ: 30
残り体力: 50
ダメージ: 50
やられました...
ゲームオーバー

エラーケース(数値以外の入力をした場合)

現在のコードでは、数値以外の入力をするとエラーが発生します。これを改善するには、以下のようなエラーハンドリングを追加します。


改善例:入力チェックを追加

数値以外が入力された場合のエラーを防ぎます。

while (true)
{
    Console.Write("ダメージ: ");
    string input = Console.ReadLine();

    if (int.TryParse(input, out int damage))
    {
        health -= damage;

        if (health <= 0)
        {
            Console.WriteLine("やられました...");
            break;
        }

        Console.WriteLine($"残り体力: {health}");
    }
    else
    {
        Console.WriteLine("無効な入力です。数値を入力してください。");
    }
}

ポイントと応用

  1. 拡張のアイデア
    • プレイヤーが回復できるアイテムを追加。
    • 敵の攻撃をランダムに設定。
    • プレイヤーと敵のターン制バトル。
  2. C#の基本概念
    • 変数や条件式の使用を学ぶだけでなく、デバッグやコードの拡張性について考える良い練習になります。

まとめ

このコードは、C#の基本を理解するための最初のステップとして最適です。初学者が楽しく学べるよう、ゲーム風に設計されています。必要に応じて機能を追加して、自分だけのプログラムを作成してみましょう!

チャレンジしてみよう