rewrite board drawing using string interpolation
This commit is contained in:
parent
71bc9da047
commit
7da089a5f5
|
@ -1,35 +1,30 @@
|
|||
package lila.app
|
||||
package ui
|
||||
|
||||
import lila.game.Pov
|
||||
import chess.{ Pos, Color ⇒ ChessColor }
|
||||
import Pos._
|
||||
|
||||
import lila.game.Pov
|
||||
|
||||
object Board {
|
||||
|
||||
def render(pov: Pov) = {
|
||||
val check = pov.game.check.??(_.key)
|
||||
val board = pov.game.toChess.board
|
||||
val moved: Pos ⇒ Boolean =
|
||||
val moved: Pos ⇒ Boolean =
|
||||
pov.game.toChessHistory.lastMove.fold((_: Pos) ⇒ false) { last ⇒
|
||||
pos ⇒ last._1 == pos || last._2 == pos
|
||||
}
|
||||
pov.color.fold(white, black) map { s ⇒
|
||||
"""<div class="lcs %s%s%s" id="%s" style="top:%dpx;left:%dpx;">""".format(
|
||||
s.color,
|
||||
if (s.pos.key == check) " check" else "",
|
||||
if (moved(s.pos)) " moved" else "",
|
||||
s.pos.key,
|
||||
s.top,
|
||||
s.left) ++
|
||||
val ccheck = if (s.pos.key == check) " check" else ""
|
||||
val cmoved = if (moved(s.pos)) " moved" else ""
|
||||
s"""<div class="lcs ${s.color}$ccheck$cmoved" id="${s.pos.key}" style="top:${s.top}px;left:${s.left}px">""" ++
|
||||
"""<div class="lcsi"></div>""" ++ {
|
||||
board(s.pos).??(piece ⇒
|
||||
"""<div class="lichess_piece %s %s"></div>""".format(
|
||||
piece.role.name, piece.color.name)
|
||||
s"""<div class="lichess_piece ${piece.role.name} ${piece.color.name}"></div>"""
|
||||
)
|
||||
} ++
|
||||
"</div>"
|
||||
|
||||
} mkString
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue