ARTICLE AD BOX
In the following window, I intend to have the labels on the right to be updated as the variables relating to these labels are modified
import random, csv import tkinter as tk from tkinter import ttk, messagebox, PhotoImage root = tk.Tk() class MyFrame(ttk.Frame): def __init__(self, parent): ttk.Frame.__init__(self, parent, padding="10 10 10 10") self.pack() self.PetStates = ["Idle", "Happy", "Sad", "Dirty", "Sleep", "Eat", "Tired", "Deny"] # All pet states self.State = 0 self.Pet = 2 # Current Pet self.frame = 0 # Current Frame self.PetFrames = [tk.PhotoImage(file="PetAssets/Pet" + str(self.Pet) + self.PetStates[self.State] + "1.png").zoom(4,4), tk.PhotoImage(file="PetAssets/Pet" + str(self.Pet) + self.PetStates[self.State] + "2.png").zoom(4,4)] # Is cycled through in function animation() self.fps = 750 # Time in milliseconds for root.after method self.Happiness = 21 self.Hstat = "Happiness: [" + "|" * self.Happiness + "· " * (25 - self.Happiness) + "]" self.Fullness = 21 self.Fstat = "Fullness: [" + "|" * self.Fullness + "· " * (25 - self.Fullness) + "]" self.Energy = 21 self.Estat = "Energy: [" + "|" * self.Energy + "· " * (25 - self.Energy) + "]" self.Hlabel = tk.StringVar() self.Flabel = tk.StringVar() self.Elabel = tk.StringVar() def animation(): print(self.PetStates[self.State], self.Happiness) self.frame = (self.frame + 1) % len(self.PetFrames) self.canvas.itemconfig(self.image_id, image=self.PetFrames[self.frame]) self.Hlabel.set(self.Hstat) self.Flabel.set(self.Fstat) self.Elabel.set(self.Estat) root.after(self.fps, animation) def check_state(): randomizer = random.randint(0, 100) if randomizer == 0 and self.State == 0: self.State == 3 return else: if self.Happiness < 5: self.State = 2 self.fps = 1000 return elif self.Fullness < 5: self.State = 2 self.fps = 1000 return elif self.Energy < 5: self.State = 6 self.fps = 1000 return elif self.State == 3: return elif self.State == 4: return else: self.State = 0 self.fps = 750 return def timepass_happiness(): if self.Happiness == 0: self.Happiness = 20 check_state() else: self.Happiness = self.Happiness - 1 check_state() root.after(864, timepass_happiness) ... def run_all(): animation() timepass_happiness() timepass_fullness() timepass_energy() ttk.Button(self, text="Pet").grid( column=0, row=0) ttk.Button(self, text="Feed").grid( column=1, row=0) ttk.Button(self, text="Wash").grid( column=2, row=0) ttk.Button(self, text="Exit").grid( column=3, row=0) Hlabel = ttk.Label(self, textvariable=self.Hlabel).grid( column=4, row=1, pady=20) Flabel = ttk.Label(self, textvariable=self.Flabel).grid( column=4, row=2, pady=20) Elabel = ttk.Label(self, textvariable=self.Elabel).grid( column=4, row=3, pady=20) self.canvas = tk.Canvas(self, width=300, height=160) self.canvas.place(relx=0, rely=.2) self.img = self.PetFrames[self.frame] self.image_id = self.canvas.create_image(150, 90, image=self.img, tag="frame") run_all() if __name__ == "__main__": root.title("Tamagotchi Pet Game") MyFrame(root) root.mainloop()I have not been able to get it working at all, even with various changes to the code.

