Yazılım pythonda turtle kullanarak oyun yapmaya calisiyorum

Merhabalar pythonda ufak bir oyun tasarlarken asagidaki gibi bir hatayla karsilastim yardımcı olabilirmisiniz

Traceback (most recent call last):
File “C:\Users\mehme\PycharmProjects\pythonProject\mehmetin_python_klasoru\venv\CSV ve PDF dosyalar\oyun yapıyoruz.py”, line 59, in
oyun_ekrani.update()
File “C:\Users\mehme\AppData\Local\Programs\Python\Python39\lib\turtle.py”, line 1303, in update
t._update_data()
File “C:\Users\mehme\AppData\Local\Programs\Python\Python39\lib\turtle.py”, line 2646, in _update_data
self.screen._incrementudc()
File “C:\Users\mehme\AppData\Local\Programs\Python\Python39\lib\turtle.py”, line 1293, in _incrementudc
raise Terminator
turtle.Terminator

Process finished with exit code 1


kod:
import time
import turtle

oyun_ekrani = turtle.Screen()
oyun_ekrani.title(“yilan_oyunu .py”)
oyun_ekrani.setup(1000, 800)
oyun_ekrani.bgcolor(“red”)
oyun_ekrani.tracer(0)

yilan_kafasi = turtle.Turtle()
yilan_kafasi.speed(0)
yilan_kafasi.color(“white”)
yilan_kafasi.shape(“turtle”)
yilan_kafasi.penup()
yilan_kafasi.goto(0, 0)
yilan_kafasi.direction = “stop”

def yukari_gidis():
if yilan_kafasi.direction !=“Down”:
yilan_kafasi.direction =“Up”

def asagi_gidis():
if yilan_kafasi.direction != “Up”:
yilan_kafasi.direction = “Down”

def saga_gidis():
if yilan_kafasi.direction != “Left”:
yilan_kafasi.direction = “Right”

def sola_gidis():
if yilan_kafasi.direction != “Right”:
yilan_kafasi.direction = “Left”

oyun_ekrani.listen()
oyun_ekrani.onkey(yukari_gidis(), “Up”)
oyun_ekrani.onkey(asagi_gidis(), “Down”)
oyun_ekrani.onkey(saga_gidis(), “Right”)
oyun_ekrani.onkey(sola_gidis(), “Left”)

def hareket():
if yilan_kafasi.direction == “Up”:
y = yilan_kafasi.ycor()
yilan_kafasi.sety(y+10)
if yilan_kafasi.direction == “Down”:
y = yilan_kafasi.ycor()
yilan_kafasi.sety(y-10)
if yilan_kafasi.direction == “right”:
x = yilan_kafasi.ycor()
yilan_kafasi.setx(x + 10)
if yilan_kafasi.direction == “Left”:
x = yilan_kafasi.ycor()
yilan_kafasi.setx(x - 10)

while True:
oyun_ekrani.update()
hareket
time.sleep(0.1)

Öncelikle
Soru sorarken sikca dusulen hatalar #1

sonra
kodu denemedim “terminatör” hatasının ne olduğunu da bilmiyorum; ama dikkatimi çekti: muhtemelen şurası yanlış.

oyun_ekrani.onkey(yukari_gidis(), “Up”)
oyun_ekrani.onkey(asagi_gidis(), “Down”)
oyun_ekrani.onkey(saga_gidis(), “Right”)
oyun_ekrani.onkey(sola_gidis(), “Left”)

methodlar herhangi bir şey return etmediğine göre parametre olarak fonksiyonu kullanıyor olmalısınız. methodları parametre olarak kullanırken () kullanmamalısınız: oyun_ekrani.onkey(yukari_gidis, "Up") gibi.

Bu kodu bir yerden kopyaladıysanız tırnak işaretlerine de dikkat edin.

muhtemelen şurada da tersi hata var.

while True:
  oyun_ekrani.update()
  hareket
  time.sleep(0.1)

Methodun çalışmasını istiyorsanız; parantez kullanmalısınız. hareket()

1 Beğeni