Wo bau ich meine Features am besten ein?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
henry681997
User
Beiträge: 16
Registriert: Montag 9. April 2012, 17:05

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 :(
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

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).
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten