summaryrefslogtreecommitdiff
path: root/src/main/scala/me/robbyzambito/othello/game/AIPlayer.scala
blob: c09d172e5900e2fa1f6e87ee7d952d7289acde26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package me.robbyzambito.othello.game

/**
 * Decides how the AI player should behave.
 *
 * Written by Robby Zambito
 * Written on 11/20/2019
 * Targeting Scala 2.13.1
 *
 * See [[Player]]
 */
case class AIPlayer(override val color: Position) extends Player(color) {

  override def nextMove(board: Board): Move = {

    implicit val moveOrdering: Ordering[Move] =
      (x, y) => x.takenPositions.length.compareTo(y.takenPositions.length)

    println(s"$this moving...")
    Thread.sleep(500L)
    println()

    possibleMoves(board).max
  }

}