Code kürzen?
Verfasst: Dienstag 28. Februar 2023, 06:18
Hallo zusammen, ich bin gerade dabei eine art mini-Game als Übung zu schreiben, und wollte mal nachfragen, ob es Möglichkeiten gibt diesen Code noch weiter zu kürzen. (Ich habe bei ca. 170 Zeilen Code angefangen zu shorten und bin jetzt bei ca 100)
Ein User in einem Discord-Chanel meinte zu mir man könne ihn locker unter die Hälfte der Zeilen Code schreiben aber ich habe absolut keine Ahnung wie ich da jetzt noch was weglassen könnte... Evtl fällt euch ja noch was ein.
Ps: Es geht darum, dass der Spieler eine Zahl erraten muss, welche vom Computer vorgegeben wird.
Ein User in einem Discord-Chanel meinte zu mir man könne ihn locker unter die Hälfte der Zeilen Code schreiben aber ich habe absolut keine Ahnung wie ich da jetzt noch was weglassen könnte... Evtl fällt euch ja noch was ein.

Ps: Es geht darum, dass der Spieler eine Zahl erraten muss, welche vom Computer vorgegeben wird.
Code: Alles auswählen
import random
def error_message():
print("Keine gültige Eingabe! Bitte versuche es erneut\n")
def add_player():
a = input("Bitte Namen des Spielers eingeben:\n")
return a
class Variables:
def __init__(self):
self.players = []
self.extra_player_count = 0
self.all_numbers = []
self.counter = 0
self.value_player = self.extra_player_count + 2
self.value_numbers = self.value_player * 10
self.total_trys = self.value_player * 3
self.run = True
self.zahl = 0
self.value_numbers = self.value_player * 10
self.pin = random.randint(1, self.value_numbers)
def false(self):
self.run = False
return self.run
user_options = Variables()
def player_options():
while True:
print("*** Willkommen zum Zahlenrätsel-Spiel! ***\nFür jeden Spieler werden die Zahlen um 10 erweitert.\n")
print("Spieler 1: "), user_options.players.append(add_player())
print("Spieler 2: "), user_options.players.append(add_player())
print(user_options.players)
add_more_players = input("Möchten Sie noch mehr Spieler hinzufügen?\nY/N:\n")
try:
add_more_players = str(add_more_players)
except ValueError:
error_message()
if add_more_players == "y" or add_more_players == "Y":
while True:
user_options.extra_player_count = input("Wie viele Spieler möchtest du hinzufügen?(max. 2)\n")
try:
user_options.extra_player_count = int(user_options.extra_player_count)
except ValueError:
error_message()
continue
if user_options.extra_player_count == 1 or user_options.extra_player_count == 2:
print("Spieler 3: "), user_options.players.append(add_player())
if user_options.extra_player_count == 2:
print("Spieler 4: "), user_options.players.append(add_player())
elif user_options.extra_player_count >= 3:
error_message()
elif add_more_players == "n" or add_more_players == "N":
break
else:
error_message()
def int_game():
user_options.extra_player_count = len(user_options.players)
print(user_options.pin)
print(len(user_options.players))
if user_options.counter == user_options.total_trys - len(user_options.players):
print("Achtung! Letzter Versuch für alle Spieler.")
elif user_options.counter == user_options.total_trys:
print("Keine Versuche mehr!")
user_options.false()
while user_options.run:
user_options.zahl = input("Spieler " + user_options.players[0] + " Eingabe:\n")
try:
user_options.zahl = int(user_options.zahl)
except ValueError:
error_message()
continue
if user_options.zahl in user_options.all_numbers:
error_message()
if user_options.zahl == user_options.pin:
print("Glückwunsch, Spieler " + user_options.players[0] + " hat gewonnen!")
user_options.false()
elif user_options.zahl < user_options.pin:
print("zu klein")
elif user_options.zahl > user_options.pin:
print("zu groß")
else:
error_message()
user_options.all_numbers.append(user_options.zahl)
user_options.players.append(user_options.players.pop(0))
user_options.counter += 1
def main():
player_options()
while user_options.run:
int_game()
main()