Seite 1 von 1

Wo bau ich meine Features am besten ein?

Verfasst: Samstag 28. April 2012, 16:38
von henry681997
Wo bau ich meine Features am besten ein, damit Python sie registriert?
in meinem Programm rechnet man Zahlen aus, um Gold zu bekommen, und man kann in einem zahlenratenspiel sein erarbeitetes gold setzen, man muss eine zahl erraten und dann bekommt man das doppelte wieder, wenn man sie nicht errät, hat man das gesetzte gold verloren

nun möchte ich einbauen, das man pro verdientes gold ein level aufsteigt, ich habe schon einiges probiert, allerdings hat bei mir nichts geklappt

wo soll ich dieses feature einbauen und wie sollte es ungefähr aussehen

Code: Alles auswählen

# -*- coding: cp1252 -*-
import random

ja = "ja"
neues_spiel = raw_input ("Willst du ein Neues Spiel? (Gib ja ein)")

mal = "*"
plus = "+"
minus = "-"
zahlenraten = "zahlenraten"

d = 0

while neues_spiel == ja:
    rechenoperation = raw_input ("Addieren, multiplizieren, subtrahieren oder zahlenraten? (*,+, zahlenraten oder - eingeben)")
    while rechenoperation == plus:
        aufgaben = int (raw_input ("Wie viele Aufgaben willst du?") )
        for aufgaben in range (aufgaben):
            a = random.randint (1, 50)
            b = random.randint (1, 50)
            print a, "+", b, "=",
            c = float (raw_input () )
            if c == a + b:
                d = d + random.randint (30, 40)
            else:
                d = d
        print "Du hast jetzt", d, "Goldmuenzen."
        rechenoperation = raw_input ("Addieren, multiplizieren, subtrahieren oder zahlenraten? (*,+, zahlenraten oder - eingeben)")
    while rechenoperation == minus:
        aufgaben = int (raw_input ("Wie viele Aufgaben willst du?") )
        for aufgaben in range (aufgaben):
            a = random.randint (1, 70)
            b = random.randint (1, 40)
            print a, "-", b, "=",
            c = float (raw_input () )
            if c == a - b:
                d = d + random.randint (30, 40)
            else:
                d = d
        print "Du hast jetzt", d, "Goldmuenzen."
        rechenoperation = raw_input ("Addieren, multiplizieren, subtrahieren oder zahlenraten? (*,+, zahlenraten oder - eingeben)")
    while rechenoperation == mal:
        aufgaben = int (raw_input ("Wie viele Aufgaben willst du?") )
        for aufgaben in range (aufgaben):
            a = random.randint (1, 15)
            b = random.randint (1, 15)
            print a, "*", b, "=",
            c = float (raw_input () )
            if c == a * b:
                d = d + random.randint (30, 40)
            else:
                d = d
        print "Du hast jetzt", d, "Goldmuenzen."
        rechenoperation = raw_input ("Addieren, multiplizieren, subtrahieren oder zahlenraten? (*,+, zahlenraten oder - eingeben)")
    while rechenoperation == zahlenraten:
            setzen = int (raw_input ("Wie hoch ist dein Einsatz?") )
            if setzen > d or setzen < 0:
                print "Entweder du hast nicht genug Gold oder du hast einen Betrag eingegeben der kleiner ist als 0!"
                break
            else:
                tipp = 0
                versuche = 1
                d = d - setzen
                geheimzahl = random.randint (1, 99)
                print "Du musst eine Zahl zwischen 1 und 99 erraten und hast 7 Versuche!"
                while versuche <= 7 and not tipp == geheimzahl:
                    tipp = int (raw_input ("Was raetst du?") )
                    if tipp < geheimzahl:
                        print "Die gesuchte Zahl ist groesser!"
                    elif tipp > geheimzahl:
                        print "Die gesuche Zahl ist kleiner!"
                    versuche = versuche + 1
                if tipp == geheimzahl:
                    d = d + setzen * 2
                    print "Du konntest die Zahl erraten und hast Goldmuenzen dazugekriegt!"
                    break
                else:
                    print "Du konntest die Zahl nicht erraten!"
                    break
                
input ("Ende")
pro 1000 goldmuenzen steigt man ein level auf.
mein code hat leider nicht funktioniert :(

Re: Wo bau ich meine Features am besten ein?

Verfasst: Samstag 28. April 2012, 17:06
von webspider
Du solltest so langsam aber sicher lernen zu abstrahieren (Funktionen wären ein guter Anfang) und deinen Code aufräumen (wie dir ja schon mehrmals vorgeschlagen wurde).

Re: Wo bau ich meine Features am besten ein?

Verfasst: Donnerstag 3. Mai 2012, 19:02
von Hyperion
Hast Du meinen Beitrag damals überhaupt gelesen? Da bin ich auf ziemlich vieles eingegangen, was Dir das Leben leichter machen würde ;-)

Aber offensichtlich ist Dein Code bisher eher unverändert geblieben...