1 module ShogiServer # for a namespace
46 return [piece, player]
69 s.downcase! if !piece.sente
76 def parseBoard(word, board)
79 while (i < word.length)
83 piece, player = charToPiece(c)
84 piece.new(board, x, y, player)
88 piece, player = charToPiece(cc)
89 piece.new(board, x, y, player, true)
106 return "" if hands.empty?
109 mapping = [[ShogiServer::PieceHi, R],
110 [ShogiServer::PieceKA, B],
111 [ShogiServer::PieceKI, G],
112 [ShogiServer::PieceGI, S],
113 [ShogiServer::PieceKE, N],
114 [ShogiServer::PieceKY, L],
115 [ShogiServer::PieceFU, P]]
117 mapping.each do |klass, str|
118 pieces = hands.find_all {|piece| piece === klass}
121 s += "%d" [pieces.size]
128 def board2usi(board, turn)
133 piece = board.array[x][y]
137 when ShogiServer::Piece
142 s += piece2char(piece)
157 if board.sente_hands.empty? && board.gote_hands.empty?
160 s += hands2usi(board.sente_hands).upcase
161 s += hands2usi(board.gote_hands).downcase