Пример #1
0
        protected override MoveValuation EvaluateMove(int choice)
        {
            GameEngine.CSharp.Game.Engine.Game afterMove = this.gameData.Clone();

            TileType afterMe = this.gameData.WhoIsAfterMe(this.playerId);

            afterMove.ChooseTurn(choice, this.playerId);

            TileType afterMoveTurn = afterMove.GetCurrentTurn();

            if (afterMoveTurn != afterMe)
            {
                if (afterMoveTurn == this.gameData.GetCurrentTurn()) // myself
                {
                    return(new MoveValuation()
                    {
                        Choice = choice, Weight = 6
                    });
                }
                else
                {
                    return(new MoveValuation()
                    {
                        Choice = choice, Weight = 3
                    });
                }
            }
            else
            {
                return(new MoveValuation()
                {
                    Choice = choice, Weight = 0
                });
            }
        }
        public AIPlayer(GameEngine.CSharp.Game.Engine.Game gameData, Guid gameId, Guid playerId)
        {
            this.gameData = gameData;
            this.gameId = gameId;
            this.playerId = playerId;
            this.myColor = this.gameData.playerColorMapping[this.playerId];

            InitializeAIStrategies();
        }
        public AIPlayer(GameEngine.CSharp.Game.Engine.Game gameData, Guid gameId, Guid playerId)
        {
            this.gameData = gameData;
            this.gameId   = gameId;
            this.playerId = playerId;
            this.myColor  = this.gameData.playerColorMapping[this.playerId];

            InitializeAIStrategies();
        }