Ein einfaches Rollen-"Spiel" bestehend aus Text
Verfasst: Montag 10. Dezember 2012, 20:13
Hier mal ein Versuch ein kleines "Spielchen" zu programmieren
Falls euch Bugs auffallen meldet sie mir bitte!
Wenn ihr mir auch noch sagen könnt wo man was verbessern kann, bin ich gerne dafür sehr offen!
Dieses Spiel läuft zumindest wenn man Python 2.6.1 hat, bei welchen Versionen das sonst noch läuft, weiß ich leider nicht.
hab gehört ab version 3.0 muss man um die print anweisungen klammern machen: print ("Hallo") Deswegen muss das nich überall laufen
Falls euch Bugs auffallen meldet sie mir bitte!

Wenn ihr mir auch noch sagen könnt wo man was verbessern kann, bin ich gerne dafür sehr offen!
Code: Alles auswählen
# -*- coding: cp1252 -*-
import random, time
Leben = 100
Max_Leben = 100
Aktionspunkte = 10
Ruestung = 0
Stufe = 1
Waffenwert1 = 2
Waffenwert2 = 5
Goldmuenzen = 500
Monsterfell = 0
Heiltrank = 0
Ruestung_Preis = 200
Waffe_Preis = 200
Leben_Preis = 200
Monster_Gold = 2000
F_Schadenswert1 = 1
F_Schadenswert2 = 4
F_Ruestung = 0
F_Max_Leben = 60
F_Leben = F_Max_Leben
print "Die Anleitung kriegst du, wenn du die Ziffer [5] in der Auswahl tippst."
print
while Leben > 0 and Aktionspunkte > 0:
Schaden = random.randint (Waffenwert1, Waffenwert2)
print "[1] Characktereigenschaften anschauen"
print "[2] Zum Haendler"
print "[3] Auf Monsterjagd gehen"
print "[4] Inventar oeffnen"
print
print "Du hast " + str(Aktionspunkte) + " Aktionspunkte, " + str(Goldmuenzen) + " Goldmuenzen und " + str(Leben) + " Lebenspunkte."
print
eingabe = int (raw_input ("Zahl eingeben um etwas zu tun:") )
print
if eingabe == 1:
print "Waffe: " + str(Waffenwert1) + "-" + str(Waffenwert2) + " Schaden"
print "Ruestungsstufe: " + str(Stufe)
print "Lebenspunkte: " + str(Leben) + "/" + str(Max_Leben)
print
while eingabe == 2:
print "Du hast " + str(Goldmuenzen) + " Goldmuenzen"
print "[1] Heiltrank kaufen (Kostet 100 Goldmuenzen und heilt 50 Lebenspunkte)"
print "[2] Waffe verbessern (+ 2 Schaden kostet " + str(Waffe_Preis) + " Goldmuenzen)"
print "[3] Bessere Rüstung (+ 2 Rüstung kostet " + str(Ruestung_Preis) + " Goldmuenzen)"
print "[4] Aktionspunkte kaufen (50 Goldmuenzen pro 1 Punkt)"
print "[5] Monsterfelle verkaufen"
print "[6] Leben erweitern (+ 20 Leben kostet " + str(Leben_Preis) + " Goldmuenzen"
print "[7] Zurueck zur Auswahl"
print
eingabe2 = int (raw_input ("Was willst du tun?") )
if eingabe2 == 1:
if Goldmuenzen >= 100:
Heiltrank = Heiltrank + 1
Goldmuenzen = Goldmuenzen - 100
print "Handel erfolgreich abgeschlossen."
print
elif Goldmuenzen < 100:
print "Du hast nicht genug Geld!"
print
if eingabe2 == 2:
if Goldmuenzen >= Waffe_Preis:
Waffenwert1 = Waffenwert1 + 1
Waffenwert2 = Waffenwert2 + 2
Goldmuenzen = Goldmuenzen - Waffe_Preis
F_Schadenswert1 = F_Schadenswert1 + 1
F_Schadenswert2 = F_Schadenswert2 + 2
print "Schaden erfolgreich erweitert."
print
Waffe_Preis = Waffe_Preis + 100
elif Goldmuenzen < Waffe_Preis:
print "Du hast nicht genug Geld!"
print
if eingabe2 == 3 and Stufe < 9:
if Goldmuenzen >= Ruestung_Preis:
Ruestung = Ruestung + 0.1
Stufe = Stufe + 1
F_Ruestung = F_Ruestung + 0.1
Goldmuenzen = Goldmuenzen - Ruestung_Preis
Ruestung_Preis = Ruestung_Preis + 100
print "Ruestung erfolgreich verbessert!"
print
elif Goldmuenzen < 200:
print "Du hast nicht genug Geld!"
print
elif Stufe == 9:
print "Deine Ruestung kann man nicht mehr verbessern."
print
if eingabe2 == 4:
anzahl_Aktionspunkte = int (raw_input ("Wieviele Aktionspunkte willst du kaufen?") )
preis = 50 * anzahl_Aktionspunkte
if preis <= Goldmuenzen:
Goldmuenzen = Goldmuenzen - preis
Aktionspunkte = Aktionspunkte + anzahl_Aktionspunkte
print "Du hast " + str(anzahl_Aktionspunkte) + " Aktionspunkte für " + str(preis) + "Goldmuenzen gekauft."
print
elif preis > Goldmuenzen:
print "Du hast nicht genug Geld."
print
if eingabe2 == 5:
preis = Monsterfell * 100
Goldmuenzen = Goldmuenzen + preis
print "Du hast all deine Felle verkauft und " + str(preis) + " Goldmuenzen erwirtschaftet."
print
if eingabe2 == 6:
if Goldmuenzen >= Leben_Preis:
Goldmuenzen = Goldmuenzen - Leben_Preis
Max_Leben = Max_Leben + 20
Leben = Leben + 20
F_Max_Leben = F_Max_Leben + 20
F_Leben = F_Max_Leben
Leben_Preis = Leben_Preis + 100
print "Leben erfolgreich erweitert:"
print
else:
print "Du hast nicht genug Geld!"
print
if eingabe2 == 7:
eingabe = 0
print
while eingabe == 3:
print "[1] Kaempfe gegen Monster!"
print "[2] Zurueck zur Auswahl"
print
eingabe2 = int (raw_input ("Moechtest du gegen Monster kämpfen?") )
print
if eingabe2 == 1:
Aktionspunkte = Aktionspunkte - 1
print "Du begegnest einem Monster!!!"
print "Auf in den Kampf!"
print
while Leben > 0 and F_Leben > 0:
Leben = Leben - random.randint (F_Schadenswert1, F_Schadenswert2) * (1 - F_Ruestung)
F_Leben = F_Leben - random.randint (Waffenwert1, Waffenwert2) * (1 - Ruestung)
print "Ihr schlagt euch!"
print "Dein Leben: " + str(Leben) + "/" + str(Max_Leben)
print "Leben des Gegners: " + str(F_Leben) + "/" + str(F_Max_Leben)
print
time.sleep(1)
if Leben > 0 and F_Leben <= 0:
print "Du hast den Kampf gewonnen und dir Gold dazuverdient"
Goldmuenzen = Goldmuenzen + Monster_Gold
Monster_Gold = Monster_Gold + 500
eingabe = 0
Monsterfell = Monsterfell + 1
F_Leben = F_Max_Leben
else:
print "Du hast den Kampf verloren."
print
eingabe = 0
if eingabe2 == 2:
eingabe = 0
while eingabe == 4:
print "Du hast " + str(Heiltrank) + " Lebenstraenke (Benutzen [1])"
print "Du hast " + str(Monsterfell) + " Monsterfelle"
print "[2] Zurueck zur Auswahl"
print
eingabe2 = int (raw_input ("Was willst du tun?") )
if eingabe2 == 1 and Heiltrank > 0:
Heiltrank = Heiltrank - 1
Leben = Leben + 50
if Leben > Max_Leben:
differenz = Leben - Max_Leben
Leben = Leben - differenz
elif Heiltrank <= 0:
print "Du hast keine Lebenstraenke."
print
if eingabe2 == 2:
eingabe = 0
print
if eingabe == 5:
print "Du hast 10 Aktionspunkte und 500 Goldmuenzen als Startkapital."
print "Deine Lebenspunkte und Aktionspunkte dürfen nicht unter 0 sinken, sonst hast du das Spiel verloren."
print "Toete Monster, kaufe Gegenstaende, steige Stufen auf und entdecke das Spiel!"
print "Das Ziel des Spiels ist simpel: Immer stärker werden, mehr Schaden austeilen, mehr einstecken können, und so weiter!"
print
if Leben <= 0:
print "Du bist gestorben, weil du keine Lebenspunkte mehr hast!"
elif Aktionspunkte <= 0:
print "Du bist vor lauter Erschoepfung gestorben, weil du keine Aktionspunkte mehr hast!"
hab gehört ab version 3.0 muss man um die print anweisungen klammern machen: print ("Hallo") Deswegen muss das nich überall laufen