Rename trajectory to longRange

This commit is contained in:
Thibault Duplessis 2012-02-25 14:12:15 +01:00
parent a0660900ba
commit e7e0afef07
2 changed files with 9 additions and 9 deletions

View file

@ -11,7 +11,7 @@ case class Actor(piece: Piece, pos: Pos, board: Board) {
case King shortRange(King.dirs) ++ castle case King shortRange(King.dirs) ++ castle
case role if (role.trajectory) trajectory(role.dirs) case role if (role.longRange) longRange(role.dirs)
case role shortRange(role.dirs) case role shortRange(role.dirs)
}) })
@ -25,10 +25,10 @@ case class Actor(piece: Piece, pos: Pos, board: Board) {
def dir: Direction = if (color == White) _.up else _.down def dir: Direction = if (color == White) _.up else _.down
def threatens(to: Pos): Boolean = enemies(to) && ((piece.role match { def threatens(to: Pos): Boolean = enemies(to) && ((piece.role match {
case Pawn dir(pos) map { next case Pawn dir(pos) map { next
List(next.left, next.right) flatten List(next.left, next.right) flatten
} getOrElse Nil } getOrElse Nil
case role if (role.trajectory) trajectoryPoss(role.dirs) case role if (role.longRange) longRangePoss(role.dirs)
case role (role.dirs map { d d(pos) }).flatten case role (role.dirs map { d d(pos) }).flatten
}) contains to) }) contains to)
@ -49,7 +49,7 @@ case class Actor(piece: Piece, pos: Pos, board: Board) {
} flatten } flatten
} toMap } toMap
private def trajectory(dirs: Directions): Implications = { private def longRange(dirs: Directions): Implications = {
val moving = (to: Pos) board.move(pos, to) val moving = (to: Pos) board.move(pos, to)
@ -67,7 +67,7 @@ case class Actor(piece: Piece, pos: Pos, board: Board) {
(dirs flatMap { dir forward(pos, dir) }) toMap (dirs flatMap { dir forward(pos, dir) }) toMap
} }
private def trajectoryPoss(dirs: Directions): List[Pos] = { private def longRangePoss(dirs: Directions): List[Pos] = {
def forward(p: Pos, dir: Direction): List[Pos] = dir(p) match { def forward(p: Pos, dir: Direction): List[Pos] = dir(p) match {
case None Nil case None Nil

View file

@ -6,7 +6,7 @@ import Pos._
sealed trait Role { sealed trait Role {
val forsyth: Char val forsyth: Char
def dirs: List[Direction] def dirs: List[Direction]
val trajectory = false val longRange = false
} }
case object King extends Role { case object King extends Role {
val forsyth = 'k' val forsyth = 'k'
@ -15,17 +15,17 @@ case object King extends Role {
case object Queen extends Role { case object Queen extends Role {
val forsyth = 'q' val forsyth = 'q'
val dirs: List[Direction] = Rook.dirs ::: Bishop.dirs val dirs: List[Direction] = Rook.dirs ::: Bishop.dirs
override val trajectory = true override val longRange = true
} }
case object Rook extends Role { case object Rook extends Role {
val forsyth = 'r' val forsyth = 'r'
val dirs: List[Direction] = List(_.up, _.down, _.left, _.right) val dirs: List[Direction] = List(_.up, _.down, _.left, _.right)
override val trajectory = true override val longRange = true
} }
case object Bishop extends Role { case object Bishop extends Role {
val forsyth = 'b' val forsyth = 'b'
val dirs: List[Direction] = List(_.upLeft, _.upRight, _.downLeft, _.downRight) val dirs: List[Direction] = List(_.upLeft, _.upRight, _.downLeft, _.downRight)
override val trajectory = true override val longRange = true
} }
case object Knight extends Role { case object Knight extends Role {
val forsyth = 'n' val forsyth = 'n'