public override AMove CreateNextMove(Game.Game game, Dictionary <string, string> dictVariables)
        {
            var result = Validate(game.World, dictVariables);


            if (game.Guess)
            {
                game.SetGuess(!game.Guess);
                return(new InfoMessage(game, this, $"So you believe that \n{ReformatFormula(dictVariables)}\n is true", _formula.CreateNextMove(game, dictVariables)));
            }
            else
            {
                game.SetGuess(!game.Guess);
                return(new InfoMessage(game, this, $"So you believe that \n{ReformatFormula(dictVariables)}\n is false", _formula.CreateNextMove(game, dictVariables)));
            }
        }
            internal AMove GetNextMove(Game game)
            {
                if (_selectionType == SelectionTypes.WorldObject)
                {
                    ChangeWorldObjects(game);
                }

                game.SetGuess(_guess);

                return(_formula.CreateNextMove(game, _dictVariables));
            }