صنع ثعبان بالهاتف

لمن لا يملك لوحة كيبورد مثلي كي يتحكم بحركة الثعبان
هذا كود لإنشاء أسهم وتحكم بحركة الثعبان :heart_eyes::heart_eyes:

from turtle import Turtle,Screen
import time
n=Screen()
n.title(“snake”)
n.setup(width=800,height=800)
n.bgcolor(“black”)
n.tracer(0)
def y():
h=[(0,-630),(0,-850),(-150,-750),(150,-750)]
j=[90,270,180,0]
for i in range(len(h)):
t=Turtle(“arrow”)
t.hideturtle()
t.color(“white”,“red”)
t.penup()
t.goto(h[i])
t.left(j[i])
t.shapesize(stretch_wid=7, stretch_len=10, outline=10)
t.showturtle()
class Turt:
def init(self):
self.position=[(-40,0),(-20,0),(0,0)]
self.turt=
self.g()
def g(self):
for i in range(len(self.position)):
m=Turtle(“square”)
m.penup()
m.color(“white”)
m.goto(self.position[i])
self.turt.append(m)
def move(self):
for i in range(len(self.turt)-1):
self.turt[i].goto(self.turt[i+1].pos())
self.turt[-1].forward(20)
def w(self,x,y):
if -70 < x < 70 and -700 < y < -550:
self.turt[-1].setheading(90)
elif -70 < x < 70 and -920 < y < -770:
self.turt[-1].setheading(270)
elif -220 < x < -80 and -820 < y < -680:
self.turt[-1].setheading(180)
elif 80 < x < 220 and -820 < y < -680:
self.turt[-1].setheading(0)

y()
k=Turt()
while True:
k.move()
n.update()
time.sleep(0.1)
n.onscreenclick(k.w)

n.exitonclick()

إعجابَين (2)

جزاك الله خير \\\\

إعجاب واحد (1)

image

اعمل نص منسق
يظهر الكود بدون اخطاء

إعجاب واحد (1)

يعطيك العافية ولكن لو تجعل الكود منسق لان الان صعب التعديل عليه

الكود بشكل منسق

from turtle import Turtle, Screen
import time

n = Screen()
n.title("snake")
n.setup(width=500, height=500)
n.bgcolor("black")
n.tracer(0)

def draw_borders():
    borders = [(0, -630), (0, -850), (-150, -750), (150, -750)]
    angles = [90, 270, 180, 0]
    for i in range(len(borders)):
        t = Turtle("arrow")
        t.hideturtle()
        t.color("white", "red")
        t.penup()
        t.goto(borders[i])
        t.left(angles[i])
        t.shapesize(stretch_wid=7, stretch_len=10, outline=10)
        t.showturtle()

class Snake:
    def __init__(self):
        self.positions = [(-40, 0), (-20, 0), (0, 0)]
        self.segments = []
        self.create_snake()

    def create_snake(self):
        for pos in self.positions:
            segment = Turtle("square")
            segment.penup()
            segment.color("white")
            segment.goto(pos)
            self.segments.append(segment)

    def move(self):
        for i in range(len(self.segments) - 1, 0, -1):
            x, y = self.segments[i - 1].pos()
            self.segments[i].goto(x, y)
        self.segments[0].forward(20)

    def change_direction(self, x, y):
        if -70 < x < 70 and -700 < y < -550:
            self.segments[0].setheading(90)
        elif -70 < x < 70 and -920 < y < -770:
            self.segments[0].setheading(270)
        elif -220 < x < -80 and -820 < y < -680:
            self.segments[0].setheading(180)
        elif 80 < x < 220 and -820 < y < -680:
            self.segments[0].setheading(0)

draw_borders()
snake = Snake()

while True:
    snake.move()
    n.update()
    time.sleep(0.1)
    n.onscreenclick(snake.change_direction)

n.exitonclick()

إعجابَين (2)