Sha256: bf47eae9fbc8bce1623766f71709bfa016389227c262d66e175dd4e1b9ba4790

Contents?: true

Size: 599 Bytes

Versions: 139

Compression:

Stored size: 599 Bytes

Contents

object QueenAttack {
  def canAttack(white: Queen, black: Queen): Boolean = {
    val canAttackHoriz = white.x == black.x
    val canAttackVert = white.y == black.y
    val deltaRow = Math.abs(white.x - black.x)
    val deltaCol = Math.abs(white.y - black.y)
    val canAttackDiag = deltaRow == deltaCol

    canAttackHoriz || canAttackVert || canAttackDiag
  }
}

case class Queen(x: Int, y: Int)

object Queen {
  def create(x: Int, y: Int): Option[Queen] = {
    val min = 0
    val max = 7
    if (x >= min && x <= max && y >= min && y <= max)
      Some(Queen(x, y))
    else
      None
  }
}

Version data entries

139 entries across 139 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.179 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.178 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.177 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.176 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.175 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.174 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.173 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.172 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.171 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.170 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.169 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.167 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.166 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.165 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.164 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.163 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.162 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.161 tracks/scala/exercises/queen-attack/example.scala
trackler-2.2.1.160 tracks/scala/exercises/queen-attack/example.scala