public void Test_DoComputerMoveF()
        {
            //situation where better to take less points
            Field field = new Field();

            field.FirstMoveAI = false;
            //Do player move
            field[2, 3] = (int)Players.FirstPlayer;
            field[2, 4] = (int)Players.SecondPlayer;

            field[3, 2] = (int)Players.SecondPlayer;
            field[3, 3] = (int)Players.SecondPlayer;
            field[3, 4] = (int)Players.SecondPlayer;

            field[4, 3] = (int)Players.FirstPlayer;
            field[4, 4] = (int)Players.SecondPlayer;

            field.FindEnabledMoves((int)Players.FirstPlayer);
            _computerIntelligence.DoComputerMove(field, (int)Players.FirstPlayer);

            Assert.IsTrue((field[2, 1] == 1 || field[4, 1] == 1), "Computer do better move");
            Assert.IsFalse((field[2, 5] == 1 || field[4, 5] == 1), "Computer do bad move");
        }
示例#2
0
        private void TimerTick(Object myObject, ElapsedEventArgs myEventArgs)
        {
            if (ComputerMoveCondition())
            {
                _timer.Enabled = false;
                _computerIntelligence.DoComputerMove(this.Field, (int)Players.FirstPlayer);

                //drawcomputermove with tips for second player
                Field.FindEnabledMoves((int)Players.SecondPlayer);
                OnDraw((int)Players.SecondPlayer, EnabledTips);
                OnPlayGoodSound();

                OnUpdateScoreAndPlayerMove();
                OnUpdateGameFinish();
                CurrentMove++;
                AlreadyExitFromTimer = true;
            }
        }