-
Notifications
You must be signed in to change notification settings - Fork 0
/
number_ninja.rb
62 lines (50 loc) · 1.52 KB
/
number_ninja.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
class NumberNinja
def start
puts "Willkommen bei NumberNinja!"
loop do
puts "Wähle bitte einen Schwierigkeitsgrad aus."
puts "leicht: 0-50, mittel: 0-100, schwer: 0-200"
difficulty = gets.chomp
case difficulty
when "leicht"
@max = 50
when "mittel"
@max = 100
when "schwer"
@max = 200
end
game_round()
break unless new_round?
end
end
def new_round?
puts "Do you want to play again? (y/n)"
play_again = gets.chomp
play_again.downcase == "y"
end
def game_round
@tries = 0
@secret_number = rand([email protected]_i)
puts "Errate nun die Zahl zwischen 0 und #{@max}."
loop do
print "Gib deine Vermutung ein: "
guess = gets.chomp.to_i
# Validation
if guess > @max or guess < 0
puts "Fehlerhafte Eingabe. Bitte erneut versuchen"
else
@tries += 1
if guess == @secret_number
puts "Glückwunsch! Du hast die Zahl in #{@tries} Versuchen erraten!"
break
elsif guess < @secret_number
puts "Zu niedrig! Versuche es nochmal."
else
puts "Zu hoch! Versuche es nochmal."
end
end
end
end
end
game = NumberNinja.new
game.start