Fix KingTest

pull/1/merge
Thibault Duplessis 2012-02-26 15:40:53 +01:00
parent abc3d0da68
commit 73f9a0d7a8
3 changed files with 14 additions and 21 deletions

View File

@ -59,7 +59,7 @@ case class Actor(piece: Piece, pos: Pos, board: Board) {
}
private def shortRange(dirs: Directions): Implications = {
(dirs map { d d(pos) }).flatten filterNot friends map { to
(dirs map { _(pos) }).flatten filterNot friends map { to
(if (enemies(to)) board.taking(pos, to) else board.move(pos, to)) map (to -> _)
} flatten
} toMap

View File

@ -59,7 +59,7 @@ case class Board(pieces: Map[Pos, Piece], history: History) {
}
def taking(orig: Pos, dest: Pos, taking: Option[Pos] = None): Option[Board] =
take(taking getOrElse dest) flatMap { b b.move(orig, dest) }
take(taking getOrElse dest) flatMap (_.move(orig, dest))
def move(orig: Pos) = new {
def to(dest: Pos): Valid[Board] = {

View File

@ -29,9 +29,6 @@ R QK NR""" movesFrom(E1) must bePoss(F1)
"not move to positions that are occupied by the same colour" in {
val board = """
k B
P
NPKP P
@ -39,7 +36,7 @@ PPPPPPPP
NBQKBNR
"""
board movesFrom C4 must bePoss(board, """
k B
xxP
@ -50,26 +47,22 @@ PPPPPPPP
""")
}
"capture opponent pieces" in {
"capture hanging opponent pieces" in {
val board = """
k B
pP
NPKp P
bpp k
Kp
p
PPPPPPPP
NBQKBNR
"""
board movesFrom C4 must bePoss(board, """
k B
board movesFrom C3 must bePoss(board, """
xxP
NPKx P
x x
PPPPPPPP
NBQKBNR
xxx k
Kp
x
""")
}
"threaten" in {