summaryrefslogtreecommitdiff
path: root/src/main/scala/me/robbyzambito/othello/game/AIPlayer.scala
blob: 307c8e1e889a48bde0b68236b855e07fd3aacbad (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
27
28
29
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] = new Ordering[Move] {
      override def compare(x: Move, y: Move): Int = {
        x.takenPositions.length.compareTo(y.takenPositions.length)
      }
    }

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

    possibleMoves(board).max
  }

}