Skip to content

Commit

Permalink
Remove unused Board functions
Browse files Browse the repository at this point in the history
  • Loading branch information
lenguyenthanh committed Jul 21, 2023
1 parent 459806a commit 0ec5b22
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 23 deletions.
20 changes: 2 additions & 18 deletions src/main/scala/Board.scala
Original file line number Diff line number Diff line change
Expand Up @@ -150,29 +150,13 @@ case class Board(

object Board:

def apply(pieces: PieceMap, history: History, variant: Variant, crazyData: Option[Crazyhouse.Data]): Board =
Board(BBoard.fromMap(pieces), history, variant, crazyData)

def apply(pieces: Iterable[(Square, Piece)], variant: Variant): Board =
Board(pieces, variant.castles, variant)

def apply(pieces: Iterable[(Square, Piece)], castles: Castles, variant: Variant): Board =
val board = BBoard.fromMap(pieces.toMap)
val unmovedRooks = if variant.allowsCastling then UnmovedRooks(board.rooks) else UnmovedRooks.none
Board(board, History(castles = castles, unmovedRooks = unmovedRooks), variant, variantCrazyData(variant))

def apply(board: BBoard, variant: Variant): Board =
val unmovedRooks = if variant.allowsCastling then UnmovedRooks(board.rooks) else UnmovedRooks.none
Board(
board,
History(castles = variant.castles, unmovedRooks = unmovedRooks),
variant,
variantCrazyData(variant)
variant.crazyhouse option Crazyhouse.Data.init
)

def init(variant: Variant): Board = Board(variant.pieces, variant.castles, variant)

def empty(variant: Variant): Board = Board(Nil, variant)

private def variantCrazyData(variant: Variant) =
variant.crazyhouse option Crazyhouse.Data.init
def init(variant: Variant): Board = Board(BBoard.fromMap(variant.pieces), variant)
2 changes: 0 additions & 2 deletions src/main/scala/format/FenReader.scala
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,6 @@ trait FenReader:

def parseBoard(boardFen: String): Option[(BBoard, Bitboard)] =
var promoted = Bitboard.empty

var pawns = Bitboard.empty
var knights = Bitboard.empty
var bishops = Bitboard.empty
Expand Down Expand Up @@ -187,7 +186,6 @@ trait FenReader:
file += (ch - '0')
if file > 8 then error = true
case ch =>
// println(s"do $ch $file $rank")
(Piece.fromChar(ch), Square.at(file, rank)).tupled.match
case Some((p, s)) =>
addPieceAt(p, s)
Expand Down
4 changes: 2 additions & 2 deletions src/test/scala/ChessTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,11 @@ trait ChessTest extends Specification with EitherMatchers:

def makeBoard: Board = Board init chess.variant.Standard

def makeChess960Board(position: Int) = Board(Chess960.pieces(position), Chess960.castles, Chess960)
def makeChess960Board(position: Int) = Board(BBoard.fromMap(Chess960.pieces(position)), Chess960)
def makeChess960Game(position: Int) = Game(makeChess960Board(position))
def chess960Boards = (0 to 959).map(makeChess960Board).toList

def makeEmptyBoard: Board = Board empty chess.variant.Standard
def makeEmptyBoard: Board = Board(BBoard.empty, chess.variant.Standard)

def bePoss(poss: Square*) = // : Matcher[Option[Iterable[square]]] =
beSome { (p: Iterable[Square]) =>
Expand Down
16 changes: 15 additions & 1 deletion src/test/scala/format/Visual.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
package chess
package format

import chess.bitboard.Board as BBoard
import chess.variant.Variant
import chess.variant.Crazyhouse

/** r bqkb r
* p ppp pp
* pr
Expand All @@ -18,7 +22,7 @@ object Visual:
case 8 => lines
case n if n > 8 => lines.slice(1, 9)
case n => (List.fill(8 - n)("")) ::: lines
val b = Board(
val b = createBoard(
pieces = (for
(l, y) <- (filtered zipWithIndex)
(c, x) <- (l zipWithIndex)
Expand Down Expand Up @@ -46,3 +50,13 @@ object Visual:
} map { """\s*$""".r.replaceFirstIn(_, "") } mkString "\n"

def addNewLines(str: String) = "\n" + str + "\n"

def createBoard(pieces: Iterable[(Square, Piece)], variant: Variant): Board =
val board = BBoard.fromMap(pieces.toMap)
val unmovedRooks = if variant.allowsCastling then UnmovedRooks(board.rooks) else UnmovedRooks.none
Board(
board,
History(castles = variant.castles, unmovedRooks = unmovedRooks),
variant,
variant.crazyhouse option Crazyhouse.Data.init
)

0 comments on commit 0ec5b22

Please sign in to comment.