Sha256: 5d9c76971a76a8dfd830d4e960eab764b38ad7f9916b29bf1c8793315a30d70f

Contents?: true

Size: 1.23 KB

Versions: 7

Compression:

Stored size: 1.23 KB

Contents

# frozen-string-literal: true

module Bioshogi
  module Parser
    class Pi
      # 読み取り結果
      attr_accessor :move_infos
      attr_accessor :first_comments
      attr_accessor :board_source
      attr_accessor :last_action_params
      attr_accessor :header
      attr_accessor :force_preset_info
      attr_accessor :force_location
      attr_accessor :force_handicap
      attr_accessor :player_piece_boxes
      attr_accessor :sfen_info

      # 変換時に必要なもの
      attr_accessor :error_message

      def initialize
        @move_infos         = []
        @first_comments     = []
        @board_source       = nil
        @last_action_params = nil
        @header             = Header.new
        @force_preset_info  = nil
        @force_location     = nil
        @force_handicap     = nil
        @player_piece_boxes = Location.inject({}) { |a, e| a.merge(e.key => PieceBox.new) }
        @error_message      = nil
        @sfen_info          = nil
      end

      def clock_exist?
        return @clock_exist if instance_variable_defined?(:@clock_exist)
        @clock_exist ||= @move_infos.any? { |e| e[:used_seconds].to_i.nonzero? }
      end

      def clock_nothing?
        !clock_exist?
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
bioshogi-0.0.10 lib/bioshogi/parser/pi.rb
bioshogi-0.0.9 lib/bioshogi/parser/pi.rb
bioshogi-0.0.8 lib/bioshogi/parser/pi.rb
bioshogi-0.0.7 lib/bioshogi/parser/pi.rb
bioshogi-0.0.5 lib/bioshogi/parser/pi.rb
bioshogi-0.0.4 lib/bioshogi/parser/pi.rb
bioshogi-0.0.3 lib/bioshogi/parser/pi.rb