yosita/たんすかい 2024/09/08 20:38

【Unity宴】キャラクター紹介②と推理結果判定(ParamTbl要素)

本日は開発中の探偵のすすめ【タロット館からの脱出】のキャラクター紹介2人目からです。

キャラクター紹介②高見映司


美貴と同様に視点キャラクター(ワトソン)です。
元は「朝島美奈子の推理日記」のキャラであり探偵のすすめシリーズ本編には初参戦!となります。
名前:高見映司(たかみえいじ)
映司のタロットカードは大アルカナ 愚者です。
(タロット館からの脱出編ではメインキャラにタロットカードがモチーフとして割り当てされています、詳細はゲーム本編にて。)

ステージクリア直前の推理判定(宴のParamTbl要素判定)

今回のゲームでは事件の推理がステージ毎に出てきます。
例えば、ステージ1では
証言当て、証言当て、証拠当て、犯人当ての3つです。
こちらを全て正解するとクリアとなります。
判定方法はいつかあると思いますが、
UserSuiriAnswerTbl{}をこのように設定しています。


今回はC列(Stage)がStage1且つB列(Success)が全てTRUEの場合
正解とする実装をしています。
allCountとtargetcountがイコール場合は全推理正解としています。
この場合のメリットとしては、UserSuiriAnswerTbl{}のレコード行を
あらかじめ決定しなくても判定可能なところです。



    private (int,int) GetStageSuccessCount(string tblName,string stageName)
    {
        int targetcount = 0;
        int allCount = 0;
        AdvParamStructTbl tbl = Engine.Param.StructTbl[tblName];
        foreach (var keyValue in tbl.Tbl)
        {
            //一行分のデータを取得
            AdvParamStruct paramRow = keyValue.Value;
            Debug.Log("paramRow" + paramRow);

            //パラメターを取得
            string StageParm= (string) paramRow.Tbl["Stage"].Parameter;
            bool SuccessParm = (bool) paramRow.Tbl["Success"].Parameter;

            //条件式を書く
            //Stageが指定のステージ名の場合
            if (StageParm == stageName)
            {
                ++allCount;
            }

            //Stageが指定のステージ名で、かつSuccessがtrueの場合
            if (StageParm == stageName && SuccessParm == true)
            {
                ++targetcount;
            }

        }
        return (allCount,targetcount);
    }

アセット

今回は宴のみの機能です。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

記事を検索