Mesoscopic Programming

タコさんプログラミング専門

ヌメロン製作講座第21回:アイテム処理

今回はアイテム処理の一部として棋譜データ入力時のアイテム選択処理を実装します。
一応棋譜データとして名前だけが保存されますが、アイテム使用効果はありません。

  • プレイ画面

  • 修正ソースファイル

Numer0n.h
Numer0n.cpp
main.h
main.cpp


struct Player

プレイヤー構造体

  • 修正個所
  1. SHORT useds[ MAX_ITEM ];
    • アイテム使用数配列を追加
  2. VOID Init( MoveID move2, TypeID type2 );


class Numer0n

ヌメロンクラス

  • 修正個所
  1. BOOL AddRecord( const Record & record );
    • アイテム使用数をカウントアップする処理を追加
  2. VOID DeleteRecord();
    • アイテム使用数をカウントダウンする処理を追加
  3. VOID DeleteAllRecord();
    • すべての棋譜データをクリアするメソッドを追加
  4. BOOL Save( LPCTSTR path );
    • アイテム使用データの保存処理追加
  5. BOOL Load( LPCTSTR path );
    • アイテム使用データの読込み処理追加


Numer0n.cpp

ヌメロンソースファイルグローバル

  • 修正個所
  1. BOOL CanAttack( MoveID move );
    • 攻撃アイテムの使用可否取得関数を追加
  2. BOOL CanDefense( MoveID move );
    • 防御アイテムの使用可否取得関数を追加
  3. BOOL CanUseItem( MoveID move, ItemID item );
    • 指定アイテムの使用可否取得関数を追加


struct Cell

セル構造体

  • 修正個所
  1. BOOL GetRecordText( PTCHAR text );
    • アイテム関係のセル文字列取得処理を追加
  2. BOOL GetRecordEditParam( EditParam & edit );
    • アイテム選択処理を追加
  3. BOOL SetRecordEditData( EditParam & edit );
    • アイテム選択処理を追加


class RecGrid

棋譜データグリッドクラス

  • 修正個所
  1. VOID OnKeyDown( UINT vkey );
    • アイテム関係を含めた棋譜データ削除処理対応


class Application

アプリケーションクラス

  • 修正個所
  1. VOID OnClearRecord();
    • 棋譜データクリアコマンド処理実装

以上です。