Sha256: 19a7e8cbfe92139449feea6e722296e2824eb1df37221ba522afa969dc929fd5
Contents?: true
Size: 1.46 KB
Versions: 1
Compression:
Stored size: 1.46 KB
Contents
# frozen-string-literal: true # # 9 8 7 6 5 4 3 2 1 # +---------------------------+ # | ・v桂v銀v金v玉v金v銀v桂v香|一 # | ・v飛 ・ ・ ・ ・ ・v角 ・|二 # |v歩v歩v歩v歩v歩v歩v歩v歩v歩|三 # | ・ ・ ・ ・ ・ ・ ・ ・ ・|四 # | ・ ・ ・ ・ ・ ・ ・ ・ ・|五 # | ・ ・ ・ ・ ・ ・ ・ ・ ・|六 # | 歩 歩 歩 歩 歩 歩 歩 歩 歩|七 # | ・ 角 ・ ・ ・ ・ ・ 飛 ・|八 # | 香 桂 銀 金 玉 金 銀 桂 香|九 # +---------------------------+ # module Bioshogi module Board class KakinokiFormatter def initialize(board) @board = board end def to_s [header, line, *rows, line].join("\n") + "\n" end private def header " " + Dimension::Column.dimension_size.times.collect { |i| Dimension::Column.fetch(i).name }.join(" ") end def line "+" + "---" * Dimension::Column.dimension_size + "+" end def rows Dimension::Row.dimension_size.times.collect do |y| fields = Dimension::Column.dimension_size.times.collect do |x| place = Place.fetch([x, y]) soldier = @board.surface[place] cell_str(soldier) end "|" + fields.join + "|" + Dimension::Row.fetch(y).name end end def cell_str(object) if object object.to_bod else " " + "・" end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bioshogi-0.0.15 | lib/bioshogi/board/kakinoki_formatter.rb |