Esempio n. 1
0
        private void Log_reader_ActionStart(object sender, LogWatcher.LogWatcher.BlockStartEventArgs e)
        {
            if (e.block_type == "TRIGGER")
            {
                return;
            }
            if (e.block_type == "POWER")
            {
                return;
            }
            if (e.block_type == "DEATHS")
            {
                return;
            }

            var game_stage = GameStageHelper.GetGameStage(e.game);

            if (game_stage != GameStage.STAGE_PLAYER_CHOICE && game_stage != GameStage.STAGE_OPPONENT_CHOICE)
            {
                this.AddLog("!!!!!!!!!!!!!!!!!!!!!! Game stage is not a choice stage in action start callback !!!!!!!!!!!!!!");
                return;
            }

            this.TriggerAIHandleBoardAction(e.game);
        }
Esempio n. 2
0
        public frmMain()
        {
            InitializeComponent();

            LogWatcher.Logger log_watcher_logger = new LogWatcher.Logger();
            log_watcher_logger.RegisterInfoCallback(
                (string msg) => AddLog(msg));

            log_watcher                     = new LogWatcher.LogWatcher(log_watcher_logger);
            log_watcher.BlockStart         += Log_reader_ActionStart;
            log_watcher.CreateGameEvent    += Log_reader_CreateGameEvent;
            log_watcher.EndTurnEvent       += Log_reader_EndTurnEvent;
            log_watcher.game_state_changed += (Game game_state) =>
            {
                Board.Game board         = new Board.Game();
                bool       parse_success = board.Parse(game_state);

                if (parse_success == false)
                {
                    txtGameEntity.Text = "Failed to parse game state to board.";
                    return;
                }

                if (last_board != null && last_board.Equals(board))
                {
                    return;
                }
                last_board = board;

                this.UpdateBoard(game_state, board);

                var game_stage = GameStageHelper.GetGameStage(game_state);
                txtGameEntity.Text = "Stage: " + game_stage.ToString() + Environment.NewLine;

                ai_engine_.AbortRunner();
                if (game_stage == GameStage.STAGE_PLAYER_CHOICE)
                {
                    ai_engine_.UpdateBoard(board);

                    if (game_state.GetCurrentPlayerEntityId() == game_state.PlayerEntityId)
                    {
                        int seconds = Convert.ToInt32(Math.Round(nudSeconds.Value, 0));
                        int threads = Convert.ToInt32(Math.Round(nudThreads.Value, 0));
                        ai_engine_.Run(seconds, threads);
                    }
                }
            };

            ai_logger_ = new AI.AILogger(ref txtAIEngine);
            ai_engine_ = new AI.AIEngine(ai_logger_);
            ai_engine_.output_message_cb += (System.String msg) =>
            {
                ai_logger_.Info("[Engine] " + msg);
            };
        }
Esempio n. 3
0
 void Start()
 {
     prevScene    = PlayerPrefs.GetString(Prefs.PREV_SCENE);
     audioManager = AudioManager.Instance;
     if (PlayerPrefs.GetInt(Prefs.GAME_RESULT) == 1)
     {
         audioManager.PlaySound("gameWon");
         resultText.text = "You Won!";
     }
     else
     {
         audioManager.PlaySound("gameLoss");
         resultText.text = "You Lost!";
     }
     nextScene = GameStageHelper.GetNextScene(prevScene);
 }