class Shuriken::Board

Public Instance Methods

brd2str() click to toggle source
# File lib/shuriken/board.rb, line 10
def brd2str
        s, empty, counter = "", 0, 0
        80.times do |j|
                i = 10 * (7 - j / 10) + ( j % 10 )
                p = @brd[i]
                if p != 0
                        if empty > 0
                                s += empty.to_s 
                                empty = 0
                        end
                        s += "fcakqrbnp.PNBRQKACF"[p + 9]
                else
                        empty += 1
                end
                counter += 1
                if counter % 10 == 0
                        s += empty.to_s if empty > 0
                        s += "/" if counter < 80
                        empty = 0
                end
        end
        s
end
castle2str() click to toggle source
# File lib/shuriken/board.rb, line 38
def castle2str
        return "-" if @castle == 0
        s = ""
        if @variant == "cabarandom"
                a = "ABCDEFGHIJ"
                s += a[@castle_squares[1]] if @castle & 0x1 == 0x1
                s += a[@castle_squares[5]] if @castle & 0x2 == 0x2
                s += a[@castle_squares[1]].downcase if @castle & 0x4 == 0x4
                s += a[@castle_squares[5]].downcase if @castle & 0x8 == 0x8
        else
                s += @castle & 0x1 == 0x1 ? "K" : ""
                s += @castle & 0x2 == 0x2 ? "Q" : ""
                s += @castle & 0x4 == 0x4 ? "k" : ""
                s += @castle & 0x8 == 0x8 ? "q" : ""
        end
        s
end
ep2str() click to toggle source
# File lib/shuriken/board.rb, line 56
def ep2str
        return "-" if @ep == -1
        "abcdefghijkl"[ @ep % 10 ] + (@ep / 10).to_s
end
r502str() click to toggle source
# File lib/shuriken/board.rb, line 61
def r502str
        @r50.to_s
end
tofen() click to toggle source
# File lib/shuriken/board.rb, line 65
def tofen
        "#{brd2str} #{wtm2str} #{castle2str} #{ep2str} #{r502str}"
end
wtm2str() click to toggle source
# File lib/shuriken/board.rb, line 34
def wtm2str
        @wtm ? "w" : "b"
end