private static List<IGameState> GetUserPlayScenario(Dictionary<string, object> gameObjects, bool enableQuestioning)
        {
            var result = new ShowStrikeResultState { GameObjects = gameObjects };
            var wait = new WaitAfterStrikeState(1000) { GameObjects = gameObjects, NextState = result };
            var play = new PlayStrikeState { GameObjects = gameObjects, NextState = wait };
            var init1 = new InitStrikeState { GameObjects = gameObjects, NextState = play };

            var scenario = new List<IGameState>
            {
                init1,
                play,
                wait,
                result,
            };

            if (enableQuestioning)
            {
                var questioning = new QuestioningState { GameObjects = gameObjects };

                result.NextState = questioning;

                scenario.Add(questioning);
            }

            return scenario;
        }
        private static List<IGameState> GetCompetitionScenario(Dictionary<string, object> gameObjects, List<IGameState> scenario)
        {
            var botWait = new WaitAfterStrikeState(1000) { GameObjects = gameObjects, NextState = null };
            var botPlay = new PlayStrikeState { GameObjects = gameObjects, NextState = botWait };
            var botInit = new InitCompetitorStrikeState { GameObjects = gameObjects, NextState = botPlay };

            scenario[scenario.Count - 1].NextState = botInit;

            return new List<IGameState>(scenario)
            {
                botInit,
                botPlay,
                botWait
            };
        }