Wir werden zusammen ein Nummern-Rate-Spiel in Ruby programmieren.
puts "Bitte gebe eine Nummer zwischen 0 und 100 ein"
Du kannst das Ruby Programm mittels dem run Button im Editor laufen lassen. Es sollte dann wie folgt aussehen:
Wir werden nun eine zufällige Nummer generieren und diese der Variable random_number
zuweisen.
random_number = rand(0..100)
Wie können wir andere potenzielle zufällige Zahlen generieren?
rand(5..9) # => eine Zahl von [5, 6, 7, 8, 9]
rand(5...9) # => eine Zahl von [5, 6, 7, 8]
rand
Methode die Nummer 100 durch 99 ersetzt.rand
Methode in deinem Code dementsprechend an.Wir wollen, dass der Benutzer eine Zahl eintippen kann. Diese speichern wir dann in der guess
Variable.
Anschliessend zeigen wir dem Benutzer die Nummer, die sie oder er eingetippt hat.
guess = gets.chomp.to_i
puts "Du hast die Nummer #{guess} eingegeben. Die zufällig generierte Nummer war: #{random_number}."
Das Programm sollte in etwa so aussehen nachdem du es hast ablaufen lassen.
gets.chomp
noch .to_i
hinzugefügt. Finde anhand der
Ruby Dokumentation heraus was die to_i
Methode für eine Auswirkung hat.Um aus unserem Programm ein Spiel zu machen und dem Benutzer die Möglichkeit zu geben,
solange Nummern einzutippen, bis sie oder er die richtige Nummer errät,
müssen wir die Nummer des Benuzters mit der zufällig generierten vergleichen.
Dafür verwenden wir einen if
conditional (Bedingte Anweisung) sowie einen loop
.
loop do end
hinzu.if
conditional im Zusammenspiel mit dem Keyword break
hinzu.loop do
nochmals gets.chomp.to_i
als Schritt einfügen.
puts "Bitte gebe eine Nummer zwischen 0 und 99 ein"
random_number = rand(0...100)
guess = gets.chomp.to_i
loop do
break if guess == random_number
puts "Du hast die Nummer #{guess} eingegeben. Deine Nummer entspricht nicht der zufällig generierte. Versuchs nochmal."
guess = gets.chomp.to_i
end
puts "Bravo, du hast gewonnen!"
.to_i
von guess = gets.chomp.to_i
und lass das Programm laufen. Was geschieht dann?Nun bauen wir die Rückmeldung an den Benutzer aus. D.h. wir lassen den Benutzer wissen, ob die von ihr oder ihm geschätze Zahl korrekt, zu hoch, zu niedrig oder negativ ist.
Dafür werden wir natürlich die uns bereits bekanntenif
conditionals einsetzen.
puts "Bitte gebe eine Nummer zwischen 0 und 99 ein"
random_number = rand(0...100)
guess = gets.chomp.to_i
loop do
break if guess == random_number
if guess < 0
puts "Bitte gib eine positive Nummer ein."
end
guess = gets.chomp.to_i
end
puts "Bravo, du hast gewonnen!"
Füge drei weitere bedingte Anweisungen dem Programm hinzu und verwende dafür elsif
.
Unten findest du den Text für die Rückmeldung, für den Fall, dass die bedingte Anweisung eintritt.
puts "Bitte gib eine Nummer unter 99 ein."
.puts "Deine Nummer ist zu tief. Versuchs nochmal."
.puts "Deine Nummer ist zu hoch. Versuchs nochmal."
.Wie wäre es mit einer Begrüssung des Benutzers? Füge folgendes zu deinem Programm hinzu:
puts "Wie heisst du?"
.puts "Hallo (Name des Benutzers). Bitte gebe eine Nummer zwischen 0 und 100 ein"
.Hast du weitere Ideen für unser Nummern-Rate-Spiel? Nur zu, probier sie aus.
Falls du dein Spiel aufbewahren möchtest, kannst du bei Repl kostenlos ein Benutzerkonto erstellen.