مشكلة في التصادم

نعم كلامك صحيح عندما يكون راس الثعبان متجه لاعلى فيمكن انزاله الى اسفل بدون اي التفاف ابدا وهكذا ستخسر بستضام الراس بالقطعة التي اسفله ولذلك قمت بحل المشكلة في اللعبة خاصتي لان المستر على ما اظن لم ينتبه ربما الى هذا الامر فجعلت الكود انه اذا كان راس الثعبان متجه لاعلى واراد المستخدم ان يوجهه الى اسفل فيتجاهل الكود هذا الامر لانه سيصبح تعارض وسيخسر المستخدم

ساشاركك الكود لكي تنتفع به وتصلح هذا الخطا في اللعبة اليك الكود

    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 والا فليوجه راس الثعبان لاعلى وهكذا طبقها على كل الفانكشن المخصصة للاتجاهات وستحل المشكلة باذن الله

7 إعجابات