OSDN Git Service

Record Floodgate games' history
[shogi-server/shogi-server.git] / showgame / lib / usi.rb
1 def charToPiece(c)
2   player = nil
3   case c
4   when /[A-Z]/
5     player = true
6   when /[a-z]/
7     player = false
8   end
9
10   piece = nil
11   case c.upcase
12   when 'P' 
13     piece = PieceFU
14   when 'L' 
15     piece = PieceKY
16   when 'N' 
17     piece = PieceKE
18   when 'S' 
19     piece = PieceGI
20   when 'G' 
21     piece = PieceKI
22   when 'B' 
23     piece = PieceKA
24   when 'R' 
25     piece = PieceHI
26   when 'K' 
27     piece = PieceOU
28   end
29   return [:piece, player]
30 end
31
32 def parseBoard(word, board)
33   x=9; y=1
34   i = 0
35   while (i < word.length)
36     c = word[i]
37     case c
38     when /[a-zA-Z]/
39       piece, player = charToPiece(c)
40       piece.new(board, x, y, player)
41       x -= 1
42     when "+"
43       cc = word[i+i]
44       piece, player = charToPiece(cc)
45       piece.new(board, x, y, player, true)
46       x -= 1
47       i += 1
48     when /\d/
49       x -= c.to_i
50     when "/"
51       x = 9
52       y += 1
53     else
54     end
55     i += 1
56   end
57 end