Class: Direction

Inherits:
TypesafeEnum::Base
  • Object
show all
Defined in:
lib/software_challenge_client/direction.rb

Overview

Eine der sechs Richtungen im hexagonalen Koordinatensystem:

TOPLEFT,
TOPRIGHT,
RIGHT,
BOTTOMRIGHT,
BOTTOMLEFT,
LEFT

Zugriff z.B. mit Direction::BOTTOMLEFT

Instance Method Summary collapse

Instance Method Details

#to_vecCoordinates

Returns Gibt den zugehörigen Vector als Koordinate zurück.

Returns:

  • (Coordinates)

    Gibt den zugehörigen Vector als Koordinate zurück



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/software_challenge_client/direction.rb', line 24

def to_vec
  if self.key == :TOPLEFT
    Coordinates.new(-1, -1)
  elsif self.key == :TOPRIGHT
    Coordinates.new(1, -1)
  elsif self.key == :RIGHT
    Coordinates.new(2, 0)
  elsif self.key == :BOTTOMRIGHT
    Coordinates.new(1, 1)
  elsif self.key == :BOTTOMLEFT
    Coordinates.new(-1, 1)
  elsif self.key == :LEFT
    Coordinates.new(-2, 0)
  else
    Coordinates.new(0, 0)
  end
end