Esempio n. 1
0
        // 委託画面におけるタイマー取得
        public static void SetConsignTimer(Bitmap screenShot)
        {
            // 委託時間を読み取って反映させる
            for (int ci = 0; ci < SceneRecognition.ConsignCount; ++ci)
            {
                // 残り時間を読み取る
                DateTime?finalTime = Utility.GetFinalTime(CharacterRecognition.GetTimeOCR(screenShot, $"委託{ci + 1}"));
                // 書き込み処理
                switch (ci)
                {
                case 0:
                    SettingsStore.ConsignFinalTime1 = finalTime;
                    break;

                case 1:
                    SettingsStore.ConsignFinalTime2 = finalTime;
                    break;

                case 2:
                    SettingsStore.ConsignFinalTime3 = finalTime;
                    break;

                case 3:
                    SettingsStore.ConsignFinalTime4 = finalTime;
                    break;
                }
            }
        }
Esempio n. 2
0
        // 寮舎画面におけるタイマー取得
        public static void SetFoodTimer(Bitmap screenShot)
        {
            // 残り時間を読み取る
            DateTime?finalTime = Utility.GetFinalTime(CharacterRecognition.GetTimeOCR(screenShot, "食糧"));

            // 書き込み処理
            SettingsStore.FoodFinalTime = finalTime;
        }
Esempio n. 3
0
        // BitmapについてOCRした結果を表示する
        public static void ShowOcrInfo(Bitmap bitmap)
        {
            // シーン判定を行う
            string scene  = SceneRecognition.JudgeGameScene(bitmap);
            string output = $"シーン判定結果:{scene}\n";

            // 資材関係のシーンだった場合、資材量を読み取って表示内容に追記する
            if (SupplyStore.SupplyListEachScene.ContainsKey(scene))
            {
                output += "読み取った資材量:\n";
                foreach (string supplyName in SupplyStore.SupplyListEachScene[scene])
                {
                    int supplyValue = CharacterRecognition.GetValueOCR(bitmap, supplyName, SettingsStore.PutCharacterRecognitionFlg);
                    output += $" {supplyName}→{supplyValue}\n";
                }
            }
            // その他のシーンの場合の処理
            switch (scene)
            {
            case "戦闘中": {
                var gauge = SceneRecognition.GetBattleBombGauge(bitmap);
                output += "読み取ったゲージ量:\n";
                output += $" 空撃→{Math.Round(gauge[0] * 100.0, 1)}%\n";
                output += $" 雷撃→{Math.Round(gauge[1] * 100.0, 1)}%\n";
                output += $" 砲撃→{Math.Round(gauge[2] * 100.0, 1)}%\n";
            }
            break;

            case "委託": {
                output += "読み取った秒数:\n";
                for (int i = 1; i <= 4; ++i)
                {
                    long time = CharacterRecognition.GetTimeOCR(bitmap, $"委託{i}", SettingsStore.PutCharacterRecognitionFlg);
                    output += $" {i}つ目→{time}\n";
                }
            }
            break;

            case "戦術教室": {
                output += "読み取った秒数:\n";
                for (int i = 1; i <= 2; ++i)
                {
                    long time = CharacterRecognition.GetTimeOCR(bitmap, $"戦術教室{i}", SettingsStore.PutCharacterRecognitionFlg);
                    output += $" {i}つ目→{time}\n";
                }
            }
            break;

            case "寮舎": {
                output += "読み取った秒数:\n";
                long time = CharacterRecognition.GetTimeOCR(bitmap, "食糧", SettingsStore.PutCharacterRecognitionFlg);
                output += $" 食糧→{time}\n";
            }
            break;
            }
            MessageBox.Show(output, Utility.SoftwareName, MessageBoxButton.OK, MessageBoxImage.Information);
        }
Esempio n. 4
0
        // 戦術教室画面におけるタイマー取得
        public static void SetLectureTimer(Bitmap screenShot)
        {
            // 残り時間を読み取って反映させる
            for (int ci = 0; ci < SceneRecognition.LectureCount; ++ci)
            {
                // 残り時間を読み取る
                DateTime?finalTime = Utility.GetFinalTime(CharacterRecognition.GetTimeOCR(screenShot, $"戦術教室{ci + 1}"));
                // 書き込み処理
                switch (ci)
                {
                case 0:
                    SettingsStore.LectureFinalTime1 = finalTime;
                    break;

                case 1:
                    SettingsStore.LectureFinalTime2 = finalTime;
                    break;
                }
            }
        }