
C言語入門|STEP7:アイテムと装備システム-回復・武器・杖の扱い方
はじめに:アイテムがRPGの戦略を広げる
STEP6では、コマンド選択型のターン制バトルを完成させました。
STEP7では、バトルや探索をさらに面白くする アイテムと装備システム を扱います。
RPGにおいてアイテムは、
- ピンチを立て直す手段
- キャラクターを強化する要素
- 探索する楽しみのご褒美
といった、重要な役割を持っています。
このSTEPでは、
- アイテムの種類分け
- 所持アイテムの管理
- 回復アイテムの使い方
- 武器や杖の装備処理
を順番に見ていきましょう。

今回のRPGに登場するアイテムの種類
まずは、アイテム全体の構成を整理します。
| 種類 | 内容 |
|---|---|
| 回復アイテム | HPやMPを回復 |
| 武器 | 攻撃力を上げる。 |
| 杖 | 魔力を上げる。 |
今回のRPGでは、
全部で8種類のアイテム が登場します。
種類をあらかじめ限定することで、
処理が分かりやすく、学習しやすい構成になっています。
アイテムIDで管理する理由
アイテムは、文字列ではなく 数値ID で管理しています。
| ID | アイテム |
|---|---|
| 0 | ポーション |
| 1 | ハイポーション |
| 2 | エーテル |
| 3 | エリクサー |
| 4 | ブロンズソード |
| 5 | スチールソード |
| 6 | 見習いの杖 |
| 7 | 賢者の杖 |
このように番号で管理することで、
- 配列のインデックスとして使える。
- 所持数を簡単に管理できる。
- 条件分岐がシンプルになる。
というメリットがあります。
所持アイテムを配列で管理する考え方
所持アイテムは、
- アイテムIDを添字
- 値を所持数
とする 整数配列 で管理しています。
所持アイテム管理のイメージ
| 添字(ID) | 値 |
|---|---|
| 0 | ポーションの所持数 |
| 1 | ハイポーションの所持数 |
| … | … |
この方法なら、
- 新しいアイテムを追加しても構造が変わらない。
- セーブ・ロードが簡単
といった利点があります。
アイテムの詳細情報を別で持つ理由
所持数とは別に、
アイテムの名前や効果量 などの情報も必要です。
そこで、
- アイテム名
- アイテムの種類
- 効果値
をまとめた アイテム定義表 を用意しています。
これにより、
- 表示用の名前
- 回復量や補正値
を、1か所で管理できます。
回復アイテムの使い方
回復アイテムは、バトル中に使用できます。
処理の流れは次のとおりです。
- アイテムを選択
- 使用対象を選ぶ
- HPやMPを回復
- 最大値を超えないよう補正
- 所持数を減らす
この流れをきちんと分けて考えると、
実装がとても分かりやすくなります。
回復アイテムごとの特徴
回復アイテムには、それぞれ役割があります。
| アイテム | 効果 |
|---|---|
| ポーション | HPを少し回復 |
| ハイポーション | HPを大きく回復 |
| エーテル | MPを回復 |
| エリクサー | HP・MP全回復 |
どれを使うかによって、
- MPを温存するか
- 強力なアイテムを使うか
といった 戦略的な判断 が生まれます。
装備アイテムの考え方
武器や杖は、
使うのではなく装備するアイテム です。
装備アイテムの特徴は次のとおりです。
| 項目 | 内容 |
|---|---|
| 消費 | 使っても減らない。 |
| 効果 | 能力値に加算 |
| 条件 | 職業制限あり |
装備することで、
キャラクターの戦い方が大きく変わります。
職業ごとの装備制限
今回のRPGでは、
装備できるアイテムが職業で決まっています。
| 職業 | 装備 |
|---|---|
| 勇者 | 剣 |
| 戦士 | 剣 |
| 魔法使い | 杖 |
この制限を設けることで、
- 職業の個性がはっきりする。
- 間違った装備を防げる。
というメリットがあります。
装備時に行っている処理
装備を行うときは、
- アイテムの種類を確認
- 職業に合っているかチェック
- 装備補正値を更新
- メッセージを表示
という流れになります。
基礎能力と装備補正を分けているため、
装備を変えるだけで能力が更新できる のがポイントです。
バトル中に装備できる理由
このRPGでは、
バトル中でも装備変更が可能です。
これは、
- ピンチのときに装備を切り替える
- 新しい武器をすぐ試せる
といった、ゲームとしての遊びやすさを重視した設計です。
処理もシンプルなので、
学習用としてもちょうど良い構成になっています。
アイテムが尽きた場合の処理
もしアイテムが1つもない場合は、
- アイテムコマンドを選んでも使えない。
- エラーメッセージを表示
するようにしています。
これにより、
- 無駄な入力を防ぐ。
- 状況が分かりやすくなる。
といった効果があります。
STEP7で理解しておきたいポイントまとめ
STEP7で押さえておきたいポイントはこちらです。
- アイテムはIDと配列で管理すると簡単
- 所持数とアイテム情報は分けて考える。
- 回復アイテムは対象選択が重要
- 装備品は基礎能力と分けて管理する。
- 職業制限で個性をはっきりさせる。
ここまで来ると、
バトルと探索の自由度が一気に広がります 👍
