repo.or.cz
/
kaya.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
history
|
raw
|
HEAD
Finished implementing shogi.
[kaya.git]
/
lib
/
games
/
shogi
/
pool.rb
blob
036a4495c97364e123860fd0c6955d98631f96c7
1
module Shogi
2
class Pool
3
attr_reader :pieces
4
5
def initialize
6
@pieces = Hash.new(0)
7
end
8
9
def initialize_copy(other)
10
@pieces = other.pieces.dup
11
end
12
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