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か所で管理できます。

回復アイテムの使い方

回復アイテムは、バトル中に使用できます。

処理の流れは次のとおりです。

  1. アイテムを選択
  2. 使用対象を選ぶ
  3. HPやMPを回復
  4. 最大値を超えないよう補正
  5. 所持数を減らす

この流れをきちんと分けて考えると、
実装がとても分かりやすくなります。

回復アイテムごとの特徴

回復アイテムには、それぞれ役割があります。

アイテム効果
ポーションHPを少し回復
ハイポーションHPを大きく回復
エーテルMPを回復
エリクサーHP・MP全回復

どれを使うかによって、

  • MPを温存するか
  • 強力なアイテムを使うか

といった 戦略的な判断 が生まれます。

装備アイテムの考え方

武器や杖は、
使うのではなく装備するアイテム です。

装備アイテムの特徴は次のとおりです。

項目内容
消費使っても減らない。
効果能力値に加算
条件職業制限あり

装備することで、
キャラクターの戦い方が大きく変わります。

職業ごとの装備制限

今回のRPGでは、
装備できるアイテムが職業で決まっています。

職業装備
勇者
戦士
魔法使い

この制限を設けることで、

  • 職業の個性がはっきりする。
  • 間違った装備を防げる。

というメリットがあります。

装備時に行っている処理

装備を行うときは、

  1. アイテムの種類を確認
  2. 職業に合っているかチェック
  3. 装備補正値を更新
  4. メッセージを表示

という流れになります。

基礎能力と装備補正を分けているため、
装備を変えるだけで能力が更新できる のがポイントです。

バトル中に装備できる理由

このRPGでは、
バトル中でも装備変更が可能です。

これは、

  • ピンチのときに装備を切り替える
  • 新しい武器をすぐ試せる

といった、ゲームとしての遊びやすさを重視した設計です。

処理もシンプルなので、
学習用としてもちょうど良い構成になっています。

アイテムが尽きた場合の処理

もしアイテムが1つもない場合は、

  • アイテムコマンドを選んでも使えない。
  • エラーメッセージを表示

するようにしています。

これにより、

  • 無駄な入力を防ぐ。
  • 状況が分かりやすくなる。

といった効果があります。

STEP7で理解しておきたいポイントまとめ

STEP7で押さえておきたいポイントはこちらです。

  • アイテムはIDと配列で管理すると簡単
  • 所持数とアイテム情報は分けて考える。
  • 回復アイテムは対象選択が重要
  • 装備品は基礎能力と分けて管理する。
  • 職業制限で個性をはっきりさせる。

ここまで来ると、
バトルと探索の自由度が一気に広がります 👍