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