Class: Player

Inherits:
Object
  • Object
show all
Defined in:
lib/software_challenge_client/player.rb

Overview

Ein Spieler

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(color, name) ⇒ Player

Konstruktor

Parameters:



46
47
48
49
50
51
52
53
54
# File 'lib/software_challenge_client/player.rb', line 46

def initialize(color, name)
  @color = color
  @name = name
  @points = 0
  @index = 0
  @carrots = 68
  @salads = 5
  @cards = CardType.to_a
end

Instance Attribute Details

#cardsArray[CardType]

Returns die noch nicht gespielten Karten.

Returns:

  • (Array[CardType])

    die noch nicht gespielten Karten



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

def cards
  @cards
end

#carrotsInteger

Returns die aktuelle Anzahl Karotten des Spielers.

Returns:

  • (Integer)

    die aktuelle Anzahl Karotten des Spielers



25
26
27
# File 'lib/software_challenge_client/player.rb', line 25

def carrots
  @carrots
end

#colorPlayerColor (readonly)

Returns die Farbe des Spielers, Rot oder Blau.

Returns:

  • (PlayerColor)

    die Farbe des Spielers, Rot oder Blau



12
13
14
# File 'lib/software_challenge_client/player.rb', line 12

def color
  @color
end

#indexInteger

Returns die aktuelle Position des Spielers auf dem Spielbrett, entspricht index des Feldes, von 0 bis 64.

Returns:

  • (Integer)

    die aktuelle Position des Spielers auf dem Spielbrett, entspricht index des Feldes, von 0 bis 64



21
22
23
# File 'lib/software_challenge_client/player.rb', line 21

def index
  @index
end

#last_non_skip_actionAction

Returns letzte Aktion, die kein Skip war.

Returns:

  • (Action)

    letzte Aktion, die kein Skip war



37
38
39
# File 'lib/software_challenge_client/player.rb', line 37

def last_non_skip_action
  @last_non_skip_action
end

#must_play_cardBoolean

Returns zeigt an, ob eine Karte gespielt werden muss, wird in Zugvalidierung verwendet.

Returns:

  • (Boolean)

    zeigt an, ob eine Karte gespielt werden muss, wird in Zugvalidierung verwendet.



41
42
43
# File 'lib/software_challenge_client/player.rb', line 41

def must_play_card
  @must_play_card
end

#nameString (readonly)

Returns der Name des Spielers, hat keine Auswirkungen auf das Spiel.

Returns:

  • (String)

    der Name des Spielers, hat keine Auswirkungen auf das Spiel



8
9
10
# File 'lib/software_challenge_client/player.rb', line 8

def name
  @name
end

#pointsInteger

Returns der aktuelle Punktestand des Spielers.

Returns:

  • (Integer)

    der aktuelle Punktestand des Spielers



16
17
18
# File 'lib/software_challenge_client/player.rb', line 16

def points
  @points
end

#saladsInteger

Returns die aktuelle Anzahl Salate des Spielers.

Returns:

  • (Integer)

    die aktuelle Anzahl Salate des Spielers



29
30
31
# File 'lib/software_challenge_client/player.rb', line 29

def salads
  @salads
end

Instance Method Details

#==(other) ⇒ Object



56
57
58
# File 'lib/software_challenge_client/player.rb', line 56

def ==(other)
  color == other.color
end

#owns_card_of_type(card_type) ⇒ Object



60
61
62
# File 'lib/software_challenge_client/player.rb', line 60

def owns_card_of_type(card_type)
  cards.include? card_type
end