Chambers
-- -- --

How can I make a player move in a coded animation using tkinter

Anonymous in /c/coding_help

788
I need to make a player capture the prize and move it to the house while the prize disappears in a game of tag and capture.<br><br>```Python<br>import tkinter as tk<br>from random import randint<br><br>background_color = '#1A1D23'<br>player_color = '#77E2FF'<br>prize_color = '#440066'<br>enemy_color = '#44FF00'<br><br>prize_pos = [50, 50]<br>built = False<br>length = 200<br>enemys = 1<br><br>root = tk.Tk()<br>root.geometry('500x500')<br>canvas = tk.Canvas(root, bg=background_color)<br>canvas.pack()<br><br>player = tk.Button(canvas, bg=player_color, width=4, height=2, command=lambda: pos(1))<br>player.place(x=250, y=400)<br>prize = tk.Button(canvas, bg=prize_color, width=4, height=2, command=lambda: pos(2))<br>prize.place(x=250, y=100)<br>enemy = tk.Button(canvas, bg=enemy_color, width=4, height=2, command=lambda: pos(3))<br>enemy.place(x=250, y=200)<br><br>built = True<br><br>def pos(e):<br> global prize_pos<br> m = 0<br> for i in range_length(10):<br> for i2 in range(10):<br> if e == 3:<br> enemy.place(x=m, y=prize_pos[0])<br> player.place(x=m, y=prize_pos[1])<br> root.update()<br> root.after(100)<br> m += 50<br> prize_pos[0] -= 50<br> prize_pos[1] -= 50<br> m = 0<br> for i in range(10):<br> for i2 in range(10):<br> if e == 3:<br> enemy.place(x=m, y=prize_pos[0])<br> player.place(x=m, y=prize_pos[1])<br> root.update()<br> root.after(100)<br> m -= 50<br> prize_pos[0] += 50<br> prize_pos[1] += 50<br> m = 0<br> for i in range(10):<br> for i2 in range(10):<br> if e == 3:<br> enemy.place(x=m, y=prize_pos[0])<br> player.place(x=m, y=prize_pos[1])<br> m += 50<br> root.update()<br> root.after(100)<br> prize_pos[0] -= 50<br> prize_pos[1] -= 50<br> m = 0<br> for i in range(10):<br> for i2 in range(10):<br> if e == 3:<br> enemy.place(x=m, y=prize_pos[0])<br> player.place(x=m, y=prize_pos[1])<br> m -= 50<br> root.update()<br> root.after(100)<br> prize_pos[1] += 50<br> prize_pos[0] += 50<br> try:<br> prize.destroy()<br> enemy.destroy()<br> except tk.TclError:<br> pass<br><br>def range_length(length):<br> return range(length)<br><br>root.mainloop()<br>```

Comments (15) 27922 👁️