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"); }
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; } }