Fix KingTest
parent
abc3d0da68
commit
73f9a0d7a8
|
@ -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
|
||||
|
|
|
@ -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] = {
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue