Implemented a keyword mechanism for theme selection.
[kaya.git] / lib / games / chess / main.rb
blob93c46fe7a376f8bd40a00a6a9ffc79fb2b6480d0
1 require 'games/games'
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'
10 module Chess
12 Game.add :chess do
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) },
19            :move => Move,
20            :animator => Animator,
21            :validator => Validator,
22            :piece => Piece,
23            :players => [:white, :black],
24            :serializer => lambda {|rep| Serializer.new(rep, validator, move, piece) },
25            :keywords => %w(chess)
26 end
28 Game.add :chess5x5, [:chess] do |chess|
29   chess.extend(:size => Point.new(5, 5))
30 end
32 end