Class: Move

Inherits:
Object
  • Object
show all
Includes:
HasHints
Defined in:
lib/software_challenge_client/move.rb

Overview

Ein Move repräsentiert eine Bewegung eines Steins auf dem Spielbrett

Instance Attribute Summary collapse

Attributes included from HasHints

#hints

Instance Method Summary collapse

Methods included from HasHints

#add_hint

Constructor Details

#initialize(from, to) ⇒ Move

Erstellt ein neuen Zug.



18
19
20
21
22
# File 'lib/software_challenge_client/move.rb', line 18

def initialize(from, to)
  @from = from
  @to = to
  @hints = []
end

Instance Attribute Details

#fromCoordinates (readonly)

Returns:



11
12
13
# File 'lib/software_challenge_client/move.rb', line 11

def from
  @from
end

#Koordinaten von dem der Spielstein in diesem Zug wegbewegt wird(vondemderSpielstein) ⇒ Coordinates (readonly)

Returns:



11
# File 'lib/software_challenge_client/move.rb', line 11

attr_reader :from

#Koordinaten zu denen der Spielstein in diesem Zug hinbewegt wird(zudenenderSpielstein) ⇒ Coordinates (readonly)

Returns:



15
# File 'lib/software_challenge_client/move.rb', line 15

attr_reader :to

#toCoordinates (readonly)

Returns:



15
16
17
# File 'lib/software_challenge_client/move.rb', line 15

def to
  @to
end

Instance Method Details

#==(other) ⇒ Object



32
33
34
35
# File 'lib/software_challenge_client/move.rb', line 32

def ==(other)
  from == other.from &&
    to == other.to
end

#piece(gamestate) ⇒ Object



24
25
26
# File 'lib/software_challenge_client/move.rb', line 24

def piece(gamestate)
  gamestate.board.field_at(from).piece
end

#piece_t(gamestate) ⇒ Object



28
29
30
# File 'lib/software_challenge_client/move.rb', line 28

def piece_t(gamestate)
  gamestate.board.field_at(to).piece
end

#to_sString

Returns Gibt die String-Repräsentation zurück.

Returns:

  • (String)

    Gibt die String-Repräsentation zurück



38
39
40
# File 'lib/software_challenge_client/move.rb', line 38

def to_s
  "Move(#{from}->#{to})"
end