Finished implementing shogi.
[kaya.git] / lib / games / shogi / pool.rb
blob036a4495c97364e123860fd0c6955d98631f96c7
1 module Shogi
2   class Pool
3     attr_reader :pieces
4   
5     def initialize
6       @pieces = Hash.new(0)
7     end
9     def initialize_copy(other)
10       @pieces = other.pieces.dup
11     end
13     def has_piece?(piece)
14       @pieces[piece] > 0
15     end
16     
17     def add(piece)
18       @pieces[piece] += 1
19     end
20     
21     def remove(piece)
22       @pieces[piece] -= 1
23       @pieces.delete(piece) if @pieces[piece] <= 0
24     end
25     
26     def empty?
27       @pieces.empty?
28     end
29     
30     def size
31       @pieces.values.inject(0, &:+)
32     end
33   end
34 end