Sha256: 1e0d9aa2e892718d6d7b28ff200d20a979f84700f8f6873553e3cd69c1cccf61
Contents?: true
Size: 1.24 KB
Versions: 6
Compression:
Stored size: 1.24 KB
Contents
# encoding: UTF-8 require_relative 'field_type' # Ein Feld des Spielfelds. Ein Spielfeld ist durch die Koordinaten eindeutig identifiziert. # Das type Attribut gibt an, um welchen Feldtyp es sich handelt class Field # @!attribute [rw] type # @return [FieldType] der Typ des Feldes attr_accessor :type # @!attribute [r] x # @return [Integer] die X-Koordinate des Feldes (0 bis 9, 0 ist ganz links, 9 ist ganz rechts) attr_reader :x # @!attribute [r] y # @return [Integer] die Y-Koordinate des Feldes (0 bis 9, 0 ist ganz unten, 9 ist ganz oben) attr_reader :y # Konstruktor # # @param type [FieldType] Feldtyp # @param x [Integer] X-Koordinate # @param y [Integer] Y-Koordinate def initialize(x, y, type) @type = type @x = x @y = y end # Vergleicht zwei Felder. Felder sind gleich, wenn sie gleiche Koordinaten und gleichen Typ haben. # @return [Boolean] true bei Gleichheit, false sonst. def ==(other) type == other.type && x == other.x && y == other.y end # @return [Coordinates] Die Koordinaten des Feldes als Koordinatenpaar. def coordinates Coordinates.new(x, y) end # @return [String] Textuelle Darstellung des Feldes. def to_s "Feld (#{x},#{y}), Typ = #{type}" end end
Version data entries
6 entries across 6 versions & 1 rubygems