نعم كلامك صحيح عندما يكون راس الثعبان متجه لاعلى فيمكن انزاله الى اسفل بدون اي التفاف ابدا وهكذا ستخسر بستضام الراس بالقطعة التي اسفله ولذلك قمت بحل المشكلة في اللعبة خاصتي لان المستر على ما اظن لم ينتبه ربما الى هذا الامر فجعلت الكود انه اذا كان راس الثعبان متجه لاعلى واراد المستخدم ان يوجهه الى اسفل فيتجاهل الكود هذا الامر لانه سيصبح تعارض وسيخسر المستخدم
ساشاركك الكود لكي تنتفع به وتصلح هذا الخطا في اللعبة اليك الكود
def up(self):
if self.head.heading() == 270:
pass
else:
self.head.setheading(90)
def down(self):
if self.head.heading() == 90:
pass
else:
self.head.setheading(270)
def rghit(self):
if self.head.heading() == 180:
pass
else:
self.head.setheading(0)
def left(self):
if self.head.heading() == 0:
pass
else:
self.head.setheading(180)
فكما سترى في الفانكشن لكل اتجاه انه اذا كان يريد المستخدم وليكن ضغط على السهم اعلى فسترى في فانكشن up انه اذا كان اتجاه راس الثعبان الى اسفل فليتجاهل الكود باستخدام pass والا فليوجه راس الثعبان لاعلى وهكذا طبقها على كل الفانكشن المخصصة للاتجاهات وستحل المشكلة باذن الله