Class: Board
- Inherits:
-
Object
- Object
- Board
- Defined in:
- lib/software_challenge_client/board.rb
Overview
Ein Spielbrett bestehend aus 65 Feldern.
Instance Attribute Summary collapse
-
#fields ⇒ Array<Field>
readonly
Ein Feld wird an der Position entsprechend seines Index im Array gespeichert.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #add_field(field) ⇒ Object
-
#field(index) ⇒ Field
Zugriff auf die Felder des Spielfeldes.
-
#initialize ⇒ Board
constructor
Initializes the board.
- #to_s ⇒ Object
Constructor Details
#initialize ⇒ Board
Initializes the board
17 18 19 |
# File 'lib/software_challenge_client/board.rb', line 17 def initialize @fields = [] end |
Instance Attribute Details
Instance Method Details
#==(other) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/software_challenge_client/board.rb', line 25 def ==(other) fields.each_with_index do |field, index| return false if field != other.field(index) end true end |
#add_field(field) ⇒ Object
32 33 34 |
# File 'lib/software_challenge_client/board.rb', line 32 def add_field(field) @fields[field.index] = field end |
#field(index) ⇒ Field
Zugriff auf die Felder des Spielfeldes
42 43 44 45 |
# File 'lib/software_challenge_client/board.rb', line 42 def field(index) return Field.new(FieldType::INVALID, index) if index.negative? fields.fetch(index, Field.new(FieldType::INVALID, index)) end |
#to_s ⇒ Object
21 22 23 |
# File 'lib/software_challenge_client/board.rb', line 21 def to_s fields.map { |f| f.type.value }.join(' ') end |