jkf 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/jkf/converter/ki2.rb +1 -1
- data/lib/jkf/converter/kif.rb +1 -1
- data/lib/jkf/parser/kif.rb +17 -4
- data/lib/jkf/version.rb +1 -1
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: bc949b63200215816a909361e5bfd25e7e500a75
         | 
| 4 | 
            +
              data.tar.gz: 4c3401109c8a2605ec059125150da420bf765bb9
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 64198f8a7885426c309a9700ec4e576363bdf339f0e523a4b0ea0375552fc4d51ca5f457945cb7271fc585dc494ccf3d9f75132620dbecdc306b05c01d887f97
         | 
| 7 | 
            +
              data.tar.gz: 298dd0d297f5897fd1cf4065d00a6d49e687fc577c8fc7368a71981689ba87aaa6d9cbfe099f3bd87b4201d85f7ef59352fc5a8ced0da415af1d489b2b4725fb
         | 
    
        data/lib/jkf/converter/ki2.rb
    CHANGED
    
    
    
        data/lib/jkf/converter/kif.rb
    CHANGED
    
    
    
        data/lib/jkf/parser/kif.rb
    CHANGED
    
    | @@ -57,7 +57,7 @@ module Jkf::Parser | |
| 57 57 | 
             
                                    end
         | 
| 58 58 | 
             
                                    if ret["initial"] && ret["initial"]["data"]
         | 
| 59 59 | 
             
                                      if ret["header"]["手番"]
         | 
| 60 | 
            -
                                        ret["initial"]["data"]["color"] = ("下先". | 
| 60 | 
            +
                                        ret["initial"]["data"]["color"] = ("下先".include?(ret["header"]["手番"]) ? 0 : 1)
         | 
| 61 61 | 
             
                                        ret["header"].delete("手番")
         | 
| 62 62 | 
             
                                      else
         | 
| 63 63 | 
             
                                        ret["initial"]["data"]["color"] = 0
         | 
| @@ -81,6 +81,7 @@ module Jkf::Parser | |
| 81 81 | 
             
                                      fork_stack << _fork
         | 
| 82 82 | 
             
                                      fork_stack << now_fork
         | 
| 83 83 | 
             
                                    end
         | 
| 84 | 
            +
                                    reverse_color(ret['moves']) if ret["initial"] && ret["initial"]["data"] && ret["initial"]["data"]["color"] == 1
         | 
| 84 85 | 
             
                                    ret
         | 
| 85 86 | 
             
                                  }.call(s2, s3, s4, s6, s7)
         | 
| 86 87 | 
             
                                  s0 = s1
         | 
| @@ -634,8 +635,8 @@ module Jkf::Parser | |
| 634 635 | 
             
                          s6 = parse_from
         | 
| 635 636 | 
             
                          if s6 != :failed
         | 
| 636 637 | 
             
                            @reported_pos = s4
         | 
| 637 | 
            -
                            s5 = -> (fugou, from) {
         | 
| 638 | 
            -
                              ret = { "piece" => fugou["piece"] }
         | 
| 638 | 
            +
                            s5 = -> (teban, fugou, from) {
         | 
| 639 | 
            +
                              ret = { "color" => teban2color(teban.join), "piece" => fugou["piece"] }
         | 
| 639 640 | 
             
                              if fugou["to"]
         | 
| 640 641 | 
             
                                ret["to"] = fugou["to"]
         | 
| 641 642 | 
             
                              else
         | 
| @@ -644,7 +645,7 @@ module Jkf::Parser | |
| 644 645 | 
             
                              ret["promote"] = true if fugou["promote"]
         | 
| 645 646 | 
             
                              ret["from"] = from if from
         | 
| 646 647 | 
             
                              ret
         | 
| 647 | 
            -
                            }.call(s5, s6)
         | 
| 648 | 
            +
                            }.call(s2, s5, s6)
         | 
| 648 649 | 
             
                            s4 = s5
         | 
| 649 650 | 
             
                          else
         | 
| 650 651 | 
             
                            @current_pos = s4
         | 
| @@ -1519,6 +1520,11 @@ module Jkf::Parser | |
| 1519 1520 | 
             
                  }[preset.gsub(/\s/, "")]
         | 
| 1520 1521 | 
             
                end
         | 
| 1521 1522 |  | 
| 1523 | 
            +
                def teban2color(teban)
         | 
| 1524 | 
            +
                  teban = teban.to_i unless teban.is_a? Fixnum
         | 
| 1525 | 
            +
                  (teban+1) % 2
         | 
| 1526 | 
            +
                end
         | 
| 1527 | 
            +
             | 
| 1522 1528 | 
             
                def make_hand(str)
         | 
| 1523 1529 | 
             
                  # Kifu for iPhoneは半角スペース区切り
         | 
| 1524 1530 | 
             
                  kinds = str.split(/[  ]/)
         | 
| @@ -1532,5 +1538,12 @@ module Jkf::Parser | |
| 1532 1538 |  | 
| 1533 1539 | 
             
                  ret
         | 
| 1534 1540 | 
             
                end
         | 
| 1541 | 
            +
             | 
| 1542 | 
            +
                def reverse_color(moves)
         | 
| 1543 | 
            +
                  moves.each do |move|
         | 
| 1544 | 
            +
                    move['move']['color'] = (move['move']['color'] + 1) % 2 if move['move'] && move['move']['color']
         | 
| 1545 | 
            +
                    move['forks'].each { |_fork| reverse_color(_fork) } if move['forks']
         | 
| 1546 | 
            +
                  end
         | 
| 1547 | 
            +
                end
         | 
| 1535 1548 | 
             
              end
         | 
| 1536 1549 | 
             
            end
         | 
    
        data/lib/jkf/version.rb
    CHANGED