refactor: update import statements for FenExporter and PgnExporter for clarity
Build & Test (NowChessSystems) TeamCity build failed
Build & Test (NowChessSystems) TeamCity build failed
This commit is contained in:
@@ -2,10 +2,10 @@ package de.nowchess.io.fen
|
|||||||
|
|
||||||
import de.nowchess.api.board.Board
|
import de.nowchess.api.board.Board
|
||||||
import de.nowchess.api.game.GameContext
|
import de.nowchess.api.game.GameContext
|
||||||
import de.nowchess.api.io.{FenExporter => ApiFenExporter}
|
import de.nowchess.api.io.FenExporter as ApiFenExporter
|
||||||
import de.nowchess.io.GameContextExport
|
import de.nowchess.io.GameContextExport
|
||||||
|
|
||||||
object FenExporter extends GameContextExport:
|
object FenExporter extends GameContextExport:
|
||||||
def boardToFen(board: Board): String = ApiFenExporter.boardToFen(board)
|
def boardToFen(board: Board): String = ApiFenExporter.boardToFen(board)
|
||||||
def gameContextToFen(context: GameContext): String = ApiFenExporter.gameContextToFen(context)
|
def gameContextToFen(context: GameContext): String = ApiFenExporter.gameContextToFen(context)
|
||||||
def exportGameContext(context: GameContext): String = ApiFenExporter.exportGameContext(context)
|
def exportGameContext(context: GameContext): String = ApiFenExporter.exportGameContext(context)
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package de.nowchess.io.pgn
|
|||||||
import de.nowchess.api.game.GameContext
|
import de.nowchess.api.game.GameContext
|
||||||
import de.nowchess.api.move.Move
|
import de.nowchess.api.move.Move
|
||||||
import de.nowchess.io.GameContextExport
|
import de.nowchess.io.GameContextExport
|
||||||
import de.nowchess.rules.pgn.{PgnExporter => RulesPgnExporter}
|
import de.nowchess.rules.pgn.PgnExporter as RulesPgnExporter
|
||||||
|
|
||||||
object PgnExporter extends GameContextExport:
|
object PgnExporter extends GameContextExport:
|
||||||
def exportGameContext(context: GameContext): String = RulesPgnExporter.exportGameContext(context)
|
def exportGameContext(context: GameContext): String = RulesPgnExporter.exportGameContext(context)
|
||||||
def exportGame(headers: Map[String, String], moves: List[Move]): String = RulesPgnExporter.exportGame(headers, moves)
|
def exportGame(headers: Map[String, String], moves: List[Move]): String = RulesPgnExporter.exportGame(headers, moves)
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ object PgnExporter extends GameContextExport:
|
|||||||
else s"$headerLines\n\n$moveText"
|
else s"$headerLines\n\n$moveText"
|
||||||
|
|
||||||
private def buildMoveText(headers: Map[String, String], moves: List[Move]): String =
|
private def buildMoveText(headers: Map[String, String], moves: List[Move]): String =
|
||||||
val contexts = moves.scanLeft(GameContext.initial)((ctx, move) => DefaultRules.applyMove(ctx)(move))
|
val contexts = moves.scanLeft(GameContext.initial)((ctx, move) => DefaultRules.applyMove(ctx)(move))
|
||||||
val sanMoves = moves.zip(contexts).map { case (move, ctx) => moveToAlgebraic(move, ctx.board) }
|
val sanMoves = moves.zip(contexts).map { case (move, ctx) => moveToAlgebraic(move, ctx.board) }
|
||||||
val grouped = sanMoves.zipWithIndex.groupBy(_._2 / 2)
|
val grouped = sanMoves.zipWithIndex.groupBy(_._2 / 2)
|
||||||
val moveLines = grouped.toList.sortBy(_._1).map { case (n, pairs) =>
|
val moveLines = grouped.toList.sortBy(_._1).map { case (n, pairs) =>
|
||||||
val w = pairs.find(_._2 % 2 == 0).map(_._1).getOrElse("")
|
val w = pairs.find(_._2 % 2 == 0).map(_._1).getOrElse("")
|
||||||
val b = pairs.find(_._2 % 2 == 1).map(_._1).getOrElse("")
|
val b = pairs.find(_._2 % 2 == 1).map(_._1).getOrElse("")
|
||||||
@@ -38,7 +38,7 @@ object PgnExporter extends GameContextExport:
|
|||||||
case MoveType.CastleQueenside => "O-O-O"
|
case MoveType.CastleQueenside => "O-O-O"
|
||||||
case MoveType.EnPassant => s"${move.from.file.toString.toLowerCase}x${move.to}"
|
case MoveType.EnPassant => s"${move.from.file.toString.toLowerCase}x${move.to}"
|
||||||
case MoveType.Promotion(pp) =>
|
case MoveType.Promotion(pp) =>
|
||||||
val suffix = pp match
|
val suffix = pp match
|
||||||
case PromotionPiece.Queen => "=Q"
|
case PromotionPiece.Queen => "=Q"
|
||||||
case PromotionPiece.Rook => "=R"
|
case PromotionPiece.Rook => "=R"
|
||||||
case PromotionPiece.Bishop => "=B"
|
case PromotionPiece.Bishop => "=B"
|
||||||
|
|||||||
Reference in New Issue
Block a user