Mein erstes Projekt^
Verfasst: Dienstag 5. Mai 2026, 13:54
Hallo liebe Leute,
um mich optimal auf eine Ausbildung im informatikbereich vorzubreiten habe ich für meine Bewerbung ein kleines Script geschrieben.
ich würde mich gerne darüber freuen wenn jemand mal drüberschaun könnte und mir auch ein schönes feedback und vielleicht auch stellen markiert.
ich habe das alles selbst geschrieben und hatte nur kleine Hilfestellungen von einer KI. Ich selbst war vorher Friseur und will nun eine neuorientierung im Bereich Informatik.
vielen lieben Dank
Eure Sunny
um mich optimal auf eine Ausbildung im informatikbereich vorzubreiten habe ich für meine Bewerbung ein kleines Script geschrieben.
ich würde mich gerne darüber freuen wenn jemand mal drüberschaun könnte und mir auch ein schönes feedback und vielleicht auch stellen markiert.
ich habe das alles selbst geschrieben und hatte nur kleine Hilfestellungen von einer KI. Ich selbst war vorher Friseur und will nun eine neuorientierung im Bereich Informatik.
vielen lieben Dank
Eure Sunny
Code: Alles auswählen
import random
import json
import os
points = 0
difficulty = 1
inventory = []
name = None
def remove_game():
if os.path.exists("savegame.json"):
os.remove("savegame.json")
print("Spielstand gelöscht!")
else:
print("Kein Spielstand vorhanden.")
def save_game():
global name, points, difficulty, inventory
data = {
"name": name,
"points": points,
"difficulty": difficulty,
"inventory": inventory
}
with open("savegame.json", "w") as file:
json.dump(data, file)
print("Spiel gespeichert!")
def load_game():
global name, points, difficulty, inventory
try:
with open("savegame.json", "r") as file:
data = json.load(file)
name = data["name"]
points = data["points"]
difficulty = data["difficulty"]
inventory = data["inventory"]
print(f"Spiel geladen! Willkommen zurück, {name}")
except FileNotFoundError:
print("Kein Savegame gefunden.")
while True:
print("\n==== Menü ====")
print("\n1= Start")
print("2= Schwierigkeitsgrad")
print("3= Inventar")
print("4= Punktestand")
print("5= Spiel laden")
print("6= Spiel speichern")
print("7= Spielstand löschen")
print("8= Beenden")
number = input("\nWas willst du tun? ")
match number:
case "1":
bonus_damage = 0
if name is None:
name = input("Wie heißt du? ")
print(f"Spiel startet für {name}")
else:
print(f"Willkommen zurück, {name}")
if difficulty == 3:
monster_name = "Drache"
monster_lifepoints = random.randint(10, 15)
else:
monster_name = "Gobblin"
monster_lifepoints = random.randint(5, 10)
monster_strength = monster_lifepoints
print(f"\nEin {monster_name} erscheint. Es hat {monster_lifepoints} Leben!")
player_lifepoints = 15 - (difficulty * 3)
print(f"Spieler {name} hat {player_lifepoints} Leben.")
while monster_lifepoints > 0:
print("\nWas möchtest du machen?")
print("1= Angreifen")
print("2= Ablenken")
print("3= Fliehen")
print("4= Inventar")
print("5= Beenden")
action = input("\nDeine Wahl: ")
match action:
case "1":
attack_points = random.randint(1, 9) + bonus_damage
bonus_damage = 0
crit_chance = random.randint(1, 10)
if crit_chance == 1:
attack_points *= 2
print("Kritischer Treffer")
monster_lifepoints -= attack_points
print(f"Du machst {attack_points} Schaden!")
if monster_lifepoints <= 0:
reward = monster_strength * 1.5 * difficulty
points += reward
loot = random.choice(["Heiltrank", "Gold", "Schwertsplitter"])
inventory.append(loot)
print(f"{monster_name} ist besiegt! Du bekommst {reward} Punkte!")
print(f"Du hast {loot} gefunden!")
print(f"\nAktueller Punktestand: {points}")
break
print(f"{monster_name} hat noch {monster_lifepoints} Leben")
monster_attack = random.randint(1, 10)
player_lifepoints -= monster_attack
print(f"{monster_name} greift {name} an und macht {monster_attack} Schaden!")
print(f"\n{name} hat noch {player_lifepoints} Leben")
if difficulty == 3:
crit_chance = random.randint (1, 15)
else:
crit_chance = random.randint(1, 5)
if player_lifepoints <= 0:
print(f"Spieler {name} ist besiegt. Game over")
break
case "2":
if random.randint(1, 2) == 1:
print("Ablenkung gelungen")
break
else:
print("Ablenkung fehlgeschlagen")
case "3":
if random.randint(1, 2) == 1:
print("Du bist geflohen ")
break
else:
print(f"Flucht fehlgeschlagen! Das {monster_name} greift dich an!")
case "4":
print("\nWelches Item willst du benutzen?")
print("1= Heiltrank (+5 Leben)")
print("2= Schwertsplitter (+5 Schaden)")
item_choice = input("\nDeine Wahl: ")
if item_choice == "1":
if "Heiltrank" in inventory:
old_hp = player_lifepoints
max_hp = 15 - (difficulty *3)
player_lifepoints = min(player_lifepoints + 5, max_hp)
inventory.remove("Heiltrank")
print(f"Du hast einen Heiltrank benutzt! {old_hp} -> {player_lifepoints} Lebenspunkte")
else:
print("Du hast keinen Heiltrank!")
elif item_choice == "2":
if "Schwertsplitter" in inventory:
attack_points += 5
inventory.remove("Schwertsplitter")
print("Schwertsplitter wurde benutzt")
else:
print("Du hast keinen Schwertsplitter")
else:
print("Ungültige Eingabe")
case "5":
print("Game Over")
break
case _:
print("Ungültige Eingabe")
case "2":
print("\n1= leicht")
print("2= normal")
print("3= schwer")
choice = input("\nSchwierigkeitsgrad: ")
match choice:
case "1":
difficulty=1
case "2":
difficulty=2
case "3":
difficulty=3
case _:
print("Ungültige Eingabe")
case "3":
print("\n====INVENTAR====")
if len(inventory) == 0:
print("Inventar ist leer")
else:
for item in inventory:
print(f"- {item}")
case "4":
if "name" in globals():
print(f"\n==== SPIELER {name} STATUS====")
print(f"Aktueller Punktestand: {points}")
print(f"Schwierigkeitsgrad: {difficulty}")
print("--------------------------\n")
else:
print("\n==== SPIELER STATUS====")
print(f"Aktueller Punktestand: {points}")
print(f"Schwierigkeitsgrad: {difficulty}")
print("--------------------------\n")
case "5":
load_game()
case "6":
save_game()
case "7":
remove_game()
case "8":
print("Spiel wird beendet...")
break
case _:
print("Ungültige Eingabe")