Canvas zufällig erstellen in einem Fenster (Tkinter)

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
AlphaBeta
User
Beiträge: 1
Registriert: Dienstag 18. Juni 2019, 17:36

Hallo zusammen,

zu Beginn sollte ich sagen, dass ich im Programmieren kompletter Neuling bin, weshalb es schön wäre, wenn ihr mir eine einfache Lösung bzw. Tipps geben könntet :). Ich versuche momentan eine Art 'Snake' zu programmieren. Allerdings möchte ich in meinem Programm, dass der Ball größer wird, wenn ich durch andere Objekte fahre. Diese Objekte sollen dann auch verschwinden. Der Code den ich bis jetzt geschrieben habe, bewegt die Kugel. Den Rest habe ich erstmal rausgelassen, da ich keine Ahnung habe wie ich weitere Canvas zufällig erstelle und wie eben bereits erwähnt größer werde, wenn ich durch sie durchfahre.

Vielen Dank jetzt schon mal für die Antworten.

Code: Alles auswählen

from tkinter import *
from tkinter import Canvas
from random import randint

a=100
b=100
c=120
d=120

fenster = Tk()
fenster.title('Canvas Test')
fenster.geometry('600x600')

canvas = Canvas(fenster, background='grey')
canvas.place(x=10, y=10, width=580, height=580)

kreis = canvas.create_oval(a, b, c, d, fill='blue')

def move_left(event):
    (x0, y0, x1, y1) = tuple(canvas.coords(kreis))
    if x0 >= 10:
        canvas.coords(kreis, (x0-10, y0, x1-10, y1))

fenster.bind('<KeyPress-Left>', move_left)

def move_right(event):
    (x0, y0, x1, y1) = tuple(canvas.coords(kreis))
    if x1 <= 580:
        canvas.coords(kreis, (x0+10, y0, x1+10, y1))

fenster.bind('<KeyPress-Right>', move_right)

def move_down(event):
    (x0, y0, x1, y1) = tuple(canvas.coords(kreis))
    if y1 <= 580:
        canvas.coords(kreis, (x0, y0+10, x1, y1+10))

fenster.bind('<KeyPress-Down>', move_down)

def move_up(event):
    (x0, y0, x1, y1) = tuple(canvas.coords(kreis))
    if y0 >= 10:
        canvas.coords(kreis, (x0, y0-10, x1, y1-10))

fenster.bind('<KeyPress-Up>', move_up)
Antworten