ヌメロン製作講座第25回:Slash アイテム処理
今回は Slash アイテム処理を実装します。
enum ErrorID(ファイル読込みエラーコード)
棋譜データファイル読込み時の以下のエラーコードを追加しました。
- ERR_SLASH_NUMBER
- Slash アイテムのスラッシュナンバー読込みエラー
struct Analyze(分析データ構造体)
Slash アイテム対応処理を追加しました。
- VOID AddData( BOOL * buffer, Number maxNumber, MoveID move, const Record & record );
- Slash アイテム対応処理追加
VOID Analyze :: AddData()
VOID Analyze :: AddData( BOOL * buffer, Number maxNumber, MoveID move, const Record & record ) { ~中略~ else if ( record.did == DATA_ITEM_SLASH ) { for ( int number = 0; number < maxNumber; number++ ) { if ( buffer[ number ] ) { NumberToArray( number, array ); min = DIGIT_9; max = DIGIT_0; for ( int column = 0; column < maxColumn; column++ ) { if ( array[ column ] < min ) { min = array[ column ]; } if ( array[ column ] > max ) { max = array[ column ]; } } if ( max - min != record.itemSlash.slash ) { buffer[ number ] = FALSE; } } } CollectCandidate( buffer, maxNumber ); ValidateByCandidate( buffer, maxNumber ); } ~中略~ }
処理内容
- すべての正解候補ナンバーのスラッシュナンバーを与えられたスラッシュナンバーと比較して不一致ならば除外する
class Numer0n(ヌメロンクラス)
Save() 関数と Load() 関数に Slash アイテム対応処理を追加しました。
- BOOL Save( LPCTSTR path )
- BOOL Load( LPCTSTR path )
- Slash アイテム対応処理追加
struct Cell(セル構造体)
関連する既存関数に Slash アイテム処理を追加しました。
- BOOL GetRecordText( PTCHAR text )
- セル表示文字列取得関数
- BOOL GetRecordEditParam( EditParam & edit )
- セル編集開始関数
- BOOL SetRecordEditData( EditParam & edit )
- セル編集終了関数
以上です。