Example #1
0
 //------------------------------------------------------------------------------
 /// 引数に指定されたステージの記録を一覧形式で画面に表示します。
 /// 記録がされていないステージの番号を指定した場合は何も表示されません。
 ///
 /// @param[in] aStageIndex ステージ番号。有効な範囲の番号が指定される必要があります。
 void Record::dumpStage(int aStageIndex)const
 {
     HPC_RANGE_ASSERT_MIN_UB_I(aStageIndex, 0, Parameter::GameStageCount);
     
     HPC_PRINT_LOG("Stage", "%d\n", aStageIndex);
     mStage[aStageIndex].dump();
 }
Example #2
0
    //------------------------------------------------------------------------------
    /// ステージ開始時に一度呼ぶことで、ステージ開始を記録します。
    ///
    /// @param[in] aStageIndex  ステージ番号。
    /// @param[in] aStage       ステージ情報への参照。
    ///
    /// @pre ステージ番号は有効な範囲を示している必要があります。
    void Record::writeStartStage(int aStageIndex, const Stage& aStage)
    {
        HPC_RANGE_ASSERT_MIN_UB_I(aStageIndex, 0, Parameter::GameStageCount);

        mCurrentStageIndex = aStageIndex;
        mStage[mCurrentStageIndex].writeStart(aStage);
    }
Example #3
0
    //------------------------------------------------------------------------------
    /// 毎ターンの記録を行います。
    ///
    /// @param[in] aResult 現在のターンを表す実行結果。
    void RecordStage::writeTurn(const TurnResult& aResult)
    {
#ifdef DEBUG
        HPC_RANGE_ASSERT_MIN_UB_I(mCurrentTurn, 0, HPC_ARRAY_NUM(mTurns));
        mTurns[mCurrentTurn].set(aResult);
#endif
        ++mCurrentTurn;
    }
Example #4
0
 //------------------------------------------------------------------------------
 /// 指定インデックスの荷物が追加されているかどうかを取得します。
 ///
 /// @param[in] aIndex インデックス。
 ///
 /// @return 指定荷物が追加されているなら true、それ以外なら false。
 bool ItemGroup::hasItem(int aIndex) const
 {
     HPC_RANGE_ASSERT_MIN_UB_I(aIndex, 0, Parameter::ItemCountMax);
     return (mBits & (1 << aIndex)) != 0;
 }
Example #5
0
 //------------------------------------------------------------------------------
 /// 荷物を削除します。
 ///
 /// @param[in] aIndex 削除する荷物のインデックス。
 void ItemGroup::removeItem(int aIndex)
 {
     HPC_RANGE_ASSERT_MIN_UB_I(aIndex, 0, Parameter::ItemCountMax);
     mBits &= ~(1 << aIndex);
 }
Example #6
0
 //------------------------------------------------------------------------------
 /// 荷物を追加します。
 ///
 /// @param[in] aIndex 追加する荷物のインデックス。
 void ItemGroup::addItem(int aIndex)
 {
     HPC_RANGE_ASSERT_MIN_UB_I(aIndex, 0, Parameter::ItemCountMax);
     mBits |= 1 << aIndex;
 }
Example #7
0
 //------------------------------------------------------------------------------
 /// 引数に指定されたステージの記録を JSON 形式で画面に出力します。
 /// 画面には指定されたステージの記録に関する部分のみの JSON が、非圧縮形式
 /// (空白・改行・インデントなどを含み整形されている状態) で出力されます。
 ///
 /// @param[in] aStageIndex ステージ番号。有効な範囲の番号が指定される必要があります。
 void Record::dumpJsonStage(int aStageIndex)const
 {
     HPC_RANGE_ASSERT_MIN_UB_I(aStageIndex, 0, Parameter::GameStageCount);
     mStage[aStageIndex].dumpJson(false);
 }