diff --git a/modules/io/src/main/scala/de/nowchess/io/fen/FenExporter.scala b/modules/io/src/main/scala/de/nowchess/io/fen/FenExporter.scala index e71df91..9fa37e0 100644 --- a/modules/io/src/main/scala/de/nowchess/io/fen/FenExporter.scala +++ b/modules/io/src/main/scala/de/nowchess/io/fen/FenExporter.scala @@ -2,10 +2,10 @@ package de.nowchess.io.fen import de.nowchess.api.board.Board 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 object FenExporter extends GameContextExport: - def boardToFen(board: Board): String = ApiFenExporter.boardToFen(board) - def gameContextToFen(context: GameContext): String = ApiFenExporter.gameContextToFen(context) - def exportGameContext(context: GameContext): String = ApiFenExporter.exportGameContext(context) + def boardToFen(board: Board): String = ApiFenExporter.boardToFen(board) + def gameContextToFen(context: GameContext): String = ApiFenExporter.gameContextToFen(context) + def exportGameContext(context: GameContext): String = ApiFenExporter.exportGameContext(context) diff --git a/modules/io/src/main/scala/de/nowchess/io/pgn/PgnExporter.scala b/modules/io/src/main/scala/de/nowchess/io/pgn/PgnExporter.scala index 5e002f6..c7312a8 100644 --- a/modules/io/src/main/scala/de/nowchess/io/pgn/PgnExporter.scala +++ b/modules/io/src/main/scala/de/nowchess/io/pgn/PgnExporter.scala @@ -3,8 +3,8 @@ package de.nowchess.io.pgn import de.nowchess.api.game.GameContext import de.nowchess.api.move.Move import de.nowchess.io.GameContextExport -import de.nowchess.rules.pgn.{PgnExporter => RulesPgnExporter} +import de.nowchess.rules.pgn.PgnExporter as RulesPgnExporter 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) diff --git a/modules/rule/src/main/scala/de/nowchess/rules/pgn/PgnExporter.scala b/modules/rule/src/main/scala/de/nowchess/rules/pgn/PgnExporter.scala index 34b2973..5657cb3 100644 --- a/modules/rule/src/main/scala/de/nowchess/rules/pgn/PgnExporter.scala +++ b/modules/rule/src/main/scala/de/nowchess/rules/pgn/PgnExporter.scala @@ -22,9 +22,9 @@ object PgnExporter extends GameContextExport: else s"$headerLines\n\n$moveText" private def buildMoveText(headers: Map[String, String], moves: List[Move]): String = - 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 grouped = sanMoves.zipWithIndex.groupBy(_._2 / 2) + 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 grouped = sanMoves.zipWithIndex.groupBy(_._2 / 2) val moveLines = grouped.toList.sortBy(_._1).map { case (n, pairs) => val w = pairs.find(_._2 % 2 == 0).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.EnPassant => s"${move.from.file.toString.toLowerCase}x${move.to}" case MoveType.Promotion(pp) => - val suffix = pp match + val suffix = pp match case PromotionPiece.Queen => "=Q" case PromotionPiece.Rook => "=R" case PromotionPiece.Bishop => "=B"