Was soll ich programmieren?
Ihr könnt hier entscheiden was ich programmieren soll und wie ich es updaten soll ich programmiere aber leider keine spiele deswegen könnnt ihr trotzdem aber entscheiden was ich programmiere.
1 Antwort
Es müssen ja keine Spiele sein. Programmiere doch einfach mal einen Getränkeautomaten oder einen Fahrkartenautomaten. Mit Anwahl des Getränks oder des Reiseziels, den Geldeinwurf und auch die Geldrückgabe. Wenn der gewählte Getränkeschacht leer ist, kann das Getränk natürlich nicht mehr gewählt werden.
Viel Spass dabei.
import pygame
import sys
class GetraenkeautomatGUI:
def __init__(self):
pygame.init()
self.screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Getränkeautomat")
self.font = pygame.font.Font(None, 36)
self.getraenke = {
"Cola": {"preis": 1.50, "bestand": 5},
"Wasser": {"preis": 1.00, "bestand": 3},
"Saft": {"preis": 2.00, "bestand": 2}
}
self.message = ""
def anzeigen(self):
self.screen.fill((0, 0, 0))
title = self.font.render("Willkommen beim Getränkeautomaten!", True, (255, 255, 255))
self.screen.blit(title, (50, 20))
y_offset = 80
for name, details in self.getraenke.items():
status = "Ausverkauft" if details["bestand"] == 0 else f"{details['preis']}€"
text = self.font.render(f"{name}: {status}", True, (255, 255, 255))
self.screen.blit(text, (50, y_offset))
y_offset += 40
if self.message:
msg_text = self.font.render(self.message, True, (255, 0, 0))
self.screen.blit(msg_text, (50, 300))
pygame.display.flip()
def kaufen(self, wahl):
if wahl not in self.getraenke:
self.message = "Ungültige Auswahl."
return
getraenk = self.getraenke[wahl]
if getraenk["bestand"] == 0:
self.message = f"Entschuldigung, {wahl} ist ausverkauft."
return
self.message = f"Bitte werfen Sie {getraenk['preis']}€ ein."
self.anzeigen()
pygame.time.wait(2000) # Simulate waiting for money input
geld = getraenk["preis"] # Simulate exact money input
if geld < getraenk["preis"]:
self.message = "Nicht genügend Geld eingeworfen."
return
wechselgeld = geld - getraenk["preis"]
getraenk["bestand"] -= 1
self.message = f"Vielen Dank! Hier ist Ihr {wahl}."
if wechselgeld > 0:
self.message += f" Wechselgeld: {wechselgeld:.2f}€"
def starten(self):
running = True
while running:
self.anzeigen()
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_1:
self.kaufen("Cola")
elif event.key == pygame.K_2:
self.kaufen("Wasser")
elif event.key == pygame.K_3:
self.kaufen("Saft")
elif event.key == pygame.K_ESCAPE:
running = False
pygame.quit()
sys.exit()
if __name__ == "__main__":
automat_gui = GetraenkeautomatGUI()
automat_gui.starten()
class Getraenkeautomat:
def __init__(self):
self.getraenke = {
"Cola": {"preis": 1.50, "bestand": 5},
"Wasser": {"preis": 1.00, "bestand": 3},
"Saft": {"preis": 2.00, "bestand": 2}
}
def anzeigen(self):
print("Willkommen beim Getränkeautomaten!")
print("Verfügbare Getränke:")
for name, details in self.getraenke.items():
status = "Ausverkauft" if details["bestand"] == 0 else f"{details['preis']}€"
print(f"- {name}: {status}")
def kaufen(self):
self.anzeigen()
wahl = input("Bitte wählen Sie ein Getränk: ")
if wahl not in self.getraenke:
print("Ungültige Auswahl.")
return
getraenk = self.getraenke[wahl]
if getraenk["bestand"] == 0:
print(f"Entschuldigung, {wahl} ist ausverkauft.")
return
try:
geld = float(input(f"Bitte werfen Sie {getraenk['preis']}€ ein: "))
except ValueError:
print("Ungültiger Betrag.")
return
if geld < getraenk["preis"]:
print("Nicht genügend Geld eingeworfen.")
return
wechselgeld = geld - getraenk["preis"]
getraenk["bestand"] -= 1
print(f"Vielen Dank! Hier ist Ihr {wahl}.")
if wechselgeld > 0:
print(f"Ihr Wechselgeld: {wechselgeld:.2f}€")
def starten(self):
while True:
print("\n1. Getränk kaufen")
print("2. Beenden")
auswahl = input("Bitte wählen Sie eine Option: ")
if auswahl == "1":
self.kaufen()
elif auswahl == "2":
print("Vielen Dank, dass Sie den Getränkeautomaten benutzt haben!")
break
else:
print("Ungültige Auswahl.")
if __name__ == "__main__":
automat = Getraenkeautomat()
automat.starten()