Sha256: 0eacacbab23cc5cfb4b7c4d35ab8b6d9f0f0656dd947a31c958df4735d54a28d
Contents?: true
Size: 579 Bytes
Versions: 1
Compression:
Stored size: 579 Bytes
Contents
module Model class Team attr_reader :name, :move_strategy, :pieces def initialize(args) raise ArgumentError, 'empty pieces array' if args[:pieces].empty? @name = args[:name] @move_strategy = args[:move_strategy] @pieces = args[:pieces] @pieces.each { |p| p.team = self } end def selected_piece @pieces[0] end def computer? !@move_strategy.nil? end def available_moves(board) @pieces.each_with_object([]) do |piece, moves| moves.concat(piece.moves(board)) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sams_tic_tac_toe-0.0.1 | lib/tic_tac_toe/model/team.rb |