Ratespiel python?
Guten Tag!
Wir Programmieren in der Schule, ein Ratespiel, wo sich der Computer eine Zahl ausdenkt und man diese erraten müss.
Jetzt sollten wir genau das Gegenteil programmieren, wo wir uns eine Zahl ausdenken und der Computer die Zahl erraten muss.
Dabei hab ich ein paar Schwierigkeiten.
So sieht das erste Programm aus:
import random
print("Ich habe mir eine Zahl
zwischen 1 bis 100 ausgedacht.
Versuchen Sie, sie zu erraten!"
)
ergebnis = random. randint (1,100)
ratezahl = int(input("Raten Sie -
und geben Sie bitte eine Zahl
von 1 bis 100 ein: "))
while ratezahl !=ergebnis:
if ratezahl < ergebnis:
print("Die gesuchte Zahl
ist größer.: ")
else: # ratezahl >
ergebnis
print("Die gesuchte Zahl
ist kleiner.:")
ratezahl = int(input())
print("Volltreffer!:“)
Was müsste ich ändern oder neu programmieren?
2 Antworten
Was müsste ich ändern oder neu programmieren?
So ziemlich alles. Es mag zwar dasselbe Spiel sein, aber es läuft für beide Spieler völlig unterschiedlich ab. Fang also von vorn an.
Umgekehrt heisst: der Computer weiss deine Zahl nicht (auch nicht das Computerprogramm). Die Zeile ergebnis = random ... kannst vergessen. Du musst nur selbst die Zahl wissen (und kannst natürlich beschummeln aber solltest fair sein).
Also:
Das ganze läuft dann so. Der Computer sagt permanent Zahlen im aktuellen Bereich und wartet dass du sagst: größer, kleiner, gleich treffer.
Durch das größer und kleiner ist der Bereich für die Nächste Computerzahl eingeschränkt.
Da es bei dem Spiel eine Maximalzahl gibt bei der durch geeignete Zahlwahl (nämlich immer ziemlich mittig im Bereich) die Zahl dann getroffen wird. Wird das endlich sein ... aber zu anfang kannst du faken ... also beispielsweise wenn der Computer zufällig bereits nach dem ersten Versuch genau die Zahl schrreibt die du eigentlich gedacht hast, sagst du statt dessen Kleiner oder Größer und denkst nochmal eine neue aus (von der Aktion weiss der Computer nichts).