Ich bin letztens auf Python zugestoßen und hab mir direkt ein Buch bestellt, was mir einen guten Einstieg in Python gebracht hat.
Aber back to topic:
Ich wollte dann ein Programm just4fun schreiben, das an Tamagotchi anlehnt (Tamapython). Ich habe danach im Internet gesucht und sozusagen ein Template mit tkinter dann genommen, das man erweitern kann.
Im Template gibt es nur Hunger und Days. Ich habe jedoch Health eingefügt, das immer -10 gehen sollte, wenn Hunger < 15 ist.
Jedoch geht jetzt mein Hunger in den Minusbereich und Health bleibt still, egal was passiert.
Hier der Code:
Code: Alles auswählen
#--------------------------------
#Tamapython Version 0.1
#--------------------------------
import tkinter
pressreturn = True
#tamapython
hunger = 100
health = 100
day = 0
#---------------------------------
def gameStart(event):
    global pressreturn
    if pressreturn == False:
        pass
    else:
        startLabel.config(text="")
        updateHunger()
        updateHealth()
        updateDay()
        updateDisplay()
        pressreturn == False
#-------------------------------------------
def updateDisplay():
    global health
    global hunger
    global day
    if health <= 50:
        catPic.config(image = hungryphoto)
    else:
        catPic.config(image = normalphoto)
        hungerLabel.config(text="Hunger: " + str(hunger))
        dayLabel.config(text="day: " + str(day))
        healthLabel.config(text="Health: " + str(health))
        catPic.after(100, updateDisplay)
#------------------------------------------------------
def updateHunger():
    global hunger
    hunger -=1
    if isAlive():
        hungerLabel.after(500, updateHunger)
def updateDay():
    global day
    day += 1
    if isAlive():
        dayLabel.after(5000, updateDay)
#-------------------------------------------------
def updateHealth():
    global hunger
    global health
    if hunger <= 15:
        health -= 10
#-------------------------
def feed():
    global hunger
    if hunger <= 95:
        hunger += 15
    else:
        hunger -=15
#-------------------------------
def isAlive():
    global hunger
    global health
    if health <= 0:
        startLabel.config(text="Game over")
        return False
    else:
        return True
#---------------------------------------
root = tkinter.Tk()
root.title("Tamapython v01")
root.geometry("1280x720")
startLabel = tkinter.Label(root, text="Press Enter to start", font=('Helvetica', 26))
startLabel.pack()
hungerLabel = tkinter.Label(root, text="Hunger: " + str(hunger), font=('Helvetica', 26))
hungerLabel.pack()
healthLabel = tkinter.Label(root, text="Health: " + str(health), font=('Helvetica', 26))
healthLabel.pack()
dayLabel = tkinter.Label(root, text="Day: " + str(day), font=('Helvetica', 26))
dayLabel.pack()
hungryphoto = tkinter.PhotoImage(file="hungry.gif")
normalphoto = tkinter.PhotoImage(file="normal.gif")
catPic = tkinter.Label(root, image=normalphoto)
catPic.pack()
btnFeed = tkinter.Button(root, text="Feed", command=feed)
btnFeed.pack()
root.bind('<Return>', gameStart)
root.mainloop()Ich bedanke mich für jede Antwort





