Implemented drag and drop.
[kaya.git] / lib / games / shogi / policy.rb
blobefd66d95d1c59f32f4dd59772e391ecdb29d36b1
1 require 'games/chess/policy'
3 module Shogi
5 class Policy < Chess::Policy
6   def initialize(move_factory, validator_factory)
7     @move_factory = move_factory
8     @validator_factory = validator_factory
9   end
10   
11   def new_move(state, src, dst, opts = {})
12     move = @move_factory.new(src, dst, opts.merge(:promote => true))
13     valid = @validator_factory.new(state)
14     move = @move_factory.new(src, dst, opts.merge(:promote => false)) unless valid[move]
15     move
16   end
17 end
19 end