From 11c0dd9d46c493555b4629c595f90827373b03da Mon Sep 17 00:00:00 2001 From: Yosuke Mizutani Date: Sat, 24 Jun 2017 04:18:40 -0400 Subject: [PATCH] allowed inverted player symbols in KI2 parsing --- jvm/src/test/resources/ki2/game/004.ki2 | 1 + jvm/src/test/scala/com/mogproject/mogami/core/JVMGameSpec.scala | 1 + .../scala/com/mogproject/mogami/core/io/kif/KifGameIO.scala | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 jvm/src/test/resources/ki2/game/004.ki2 diff --git a/jvm/src/test/resources/ki2/game/004.ki2 b/jvm/src/test/resources/ki2/game/004.ki2 new file mode 100644 index 0000000..f87b6cd --- /dev/null +++ b/jvm/src/test/resources/ki2/game/004.ki2 @@ -0,0 +1 @@ +▲7六歩▽3四歩▲2六歩▽4四歩▲4八銀▽4二銀▲5六歩▽5二飛▲5七銀▽5四歩▲9六歩▽9四歩▲7八銀▽4三銀▲6八玉▽6二玉▲6六歩▽6四歩▲2五歩▽3三角▲9七角▽6三玉▲8六角▽8四歩▲7九玉▽7四歩▲6八飛 \ No newline at end of file diff --git a/jvm/src/test/scala/com/mogproject/mogami/core/JVMGameSpec.scala b/jvm/src/test/scala/com/mogproject/mogami/core/JVMGameSpec.scala index 7aa7c2e..5e55978 100644 --- a/jvm/src/test/scala/com/mogproject/mogami/core/JVMGameSpec.scala +++ b/jvm/src/test/scala/com/mogproject/mogami/core/JVMGameSpec.scala @@ -132,5 +132,6 @@ class JVMGameSpec extends FlatSpec with MustMatchers with GeneratorDrivenPropert Game.parseKi2String(loadFile("ki2/game/001.ki2")).trunk.moves.length mustBe 111 Game.parseKi2String(loadFile("ki2/game/002.ki2")).trunk.moves.length mustBe 111 Game.parseKi2String(loadFile("ki2/game/003.ki2")).trunk.moves.length mustBe 34 + Game.parseKi2String(loadFile("ki2/game/004.ki2")).trunk.moves.length mustBe 27 } } diff --git a/shared/src/main/scala/com/mogproject/mogami/core/io/kif/KifGameIO.scala b/shared/src/main/scala/com/mogproject/mogami/core/io/kif/KifGameIO.scala index 413e3a1..fd2785b 100644 --- a/shared/src/main/scala/com/mogproject/mogami/core/io/kif/KifGameIO.scala +++ b/shared/src/main/scala/com/mogproject/mogami/core/io/kif/KifGameIO.scala @@ -264,7 +264,7 @@ trait KifGameReader extends KifBranchReader with KifGameIO with KifGameFactory[G } protected[io] def splitMovesKi2(lines: Lines): Lines = lines.flatMap { - case (x, n) if isNormalMoveKi2(x) => x.replaceAll("▲", " ▲").replaceAll("△", " △").split(" ").filter(_.nonEmpty).map((_, n)) + case (x, n) if isNormalMoveKi2(x) => x.replaceAll("▲", " ▲").replaceAll("[△▽]", " △").split(" ").filter(_.nonEmpty).map((_, n)) case _ => Seq.empty }