Sha256: bb00a817a12cea0496329b0ab76e79c6679529e970ed72b27311cfcd8041afc3

Contents?: true

Size: 1.36 KB

Versions: 9

Compression:

Stored size: 1.36 KB

Contents

# frozen-string-literal: true

module Bioshogi
  module InputAdapter
    concern :Ki2MotionWrapper do
      # 「同」「成・不成」「左右」などの指定があるか?
      def suffix_exist?
        same? || !motion_str.empty? || have_promote_or_not_promote_force_instruction?
      end

      def motion_str
        @motion_str ||= [input[:ki2_one_up], input[:ki2_left_right], input[:ki2_up_down]].join
      end

      # 直
      def one_up?
        input[:ki2_one_up]
      end

      # 左右
      def left_right
        input[:ki2_left_right]
      end

      # ▼将棋のルール「棋譜について」|品川将棋倶楽部
      # https://ameblo.jp/written-by-m/entry-10365417107.html
      # > どちらの飛車も1三の地点に移動できます。よって、それぞれの駒が1三の地点に移動する場合は、
      # > 上の駒は▲1三飛引成(成らない場合は▲1三飛引不成)。下の駒は▲1三飛上成(あがるなり)と表記します。
      # > 飛車や角に限り「行」を用いて▲1三飛行成(いくなり)と表記することもあります。
      def up_down
        @up_down ||= yield_self do
          if s = input[:ki2_up_down]
            if piece.brave?
              s = s.tr("行", "上")
            end
            s
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
bioshogi-0.0.15 lib/bioshogi/input_adapter/ki2_motion_wrapper.rb
bioshogi-0.0.14 lib/bioshogi/input_adapter/ki2_motion_wrapper.rb
bioshogi-0.0.10 lib/bioshogi/input_adapter/ki2_motion_wrapper.rb
bioshogi-0.0.9 lib/bioshogi/input_adapter/ki2_motion_wrapper.rb
bioshogi-0.0.8 lib/bioshogi/input_adapter/ki2_motion_wrapper.rb
bioshogi-0.0.7 lib/bioshogi/input_adapter/ki2_motion_wrapper.rb
bioshogi-0.0.5 lib/bioshogi/input_adapter/ki2_motion_wrapper.rb
bioshogi-0.0.4 lib/bioshogi/input_adapter/ki2_motion_wrapper.rb
bioshogi-0.0.3 lib/bioshogi/input_adapter/ki2_motion_wrapper.rb