2 require 'games/chess/state'
3 require 'games/chess/move'
4 require 'games/chess/board'
5 require 'games/chess/policy'
6 require 'games/chess/animator'
7 require 'games/chess/validator'
8 require 'games/chess/serializer'
13 Game.new :size => Point.new(8, 8),
14 :policy => Policy.new,
15 :state_component => State,
16 :state => lambda { state_component.new(board.new, move, piece) },
17 :board_component => Board,
18 :board => lambda { board_component.new(size) },
20 :animator => Animator,
21 :validator => Validator,
23 :players => [:white, :black],
24 :serializer => lambda {|rep| Serializer.new(rep, validator, move, piece) },
25 :keywords => %w(chess)
28 Game.add :chess5x5, [:chess] do |chess|
29 chess.extend(:size => Point.new(5, 5))