Class: LanguageCards::Modes::Game

Inherits:
Object
  • Object
show all
Defined in:
lib/language_cards/modes/game.rb

Direct Known Subclasses

Translate, TypingPractice

Instance Method Summary collapse

Constructor Details

#initialize(card_set) ⇒ Game

Returns a new instance of Game.



5
6
7
8
9
# File 'lib/language_cards/modes/game.rb', line 5

def initialize card_set
  @card_set = card_set
  @index = 0
  @current = nil
end

Instance Method Details

#currentObject



11
12
13
# File 'lib/language_cards/modes/game.rb', line 11

def current
  @current or raise "Current grapheme not yet set!"
end

#nextObject

Iterator for cycling through all translations sequentially.

Returns:

  • Grapheme Returns a random grapheme



23
24
25
26
27
# File 'lib/language_cards/modes/game.rb', line 23

def next
  value = @card_set[@index % @card_set.length]
  @index += 1
  @current = value
end

#sampleObject

Returns Grapheme Returns a random grapheme.

Returns:

  • Grapheme Returns a random grapheme



16
17
18
19
# File 'lib/language_cards/modes/game.rb', line 16

def sample
  @current = @card_set.sample
  self
end