implemented opponentMove