38. Python pro pokročilé - Tvoříme tělo hada (1. část)

Поділитися
Вставка
  • Опубліковано 4 лют 2025

КОМЕНТАРІ • 2

  • @tomasnovotny4609
    @tomasnovotny4609 2 роки тому +3

    supr, pochopil jsem, jen nevím jestli bych to s tím move () vydedukoval, možná kdyby šlo ladění a vidět to na obrazovce

  • @josefbroz5408
    @josefbroz5408 Рік тому +1

    říkal jsme si, musím na to přijít sám, co jabko to prodloužení hada... Trápil jsme se s tím několik hodin, pořád had neposlouchal, nechtěl se správně prodlužovat, nakonec jsem to vymyslel a byl jsme nadosah - co jedna nová část těla hada to podmínka "if" na 2 řádky, tak jsem dumal dál jak to zacyklovat a jupí, had funguje 😀😀😀:
    from turtle import Turtle, Screen
    import time, random
    def move_up():
    snake.direction = "up"
    def move_down():
    snake.direction = "down"
    def move_left():
    snake.direction = "left"
    def move_right():
    snake.direction = "right"
    def moving():
    if snake.direction == "up":
    y = snake.ycor()
    snake.sety(y + 20)
    if snake.direction == "down":
    y = snake.ycor()
    snake.sety(y - 20)
    if snake.direction == "left":
    x = snake.xcor()
    snake.setx(x - 20)
    if snake.direction == "right":
    x = snake.xcor()
    snake.setx(x + 20)
    def apple_draw():
    apple.setx(random.randrange(-280, 280, 20))
    apple.sety(random.randrange(-280, 280, 20))
    screen = Screen()
    screen.title("Vítejte ve hře SNAKE !")
    screen.bgcolor("green")
    screen.setup(width= 600, height = 600)
    screen.tracer(False)
    snake = Turtle("square")
    snake.penup()
    snake.goto(0, 0)
    snake.direction = "stand by"
    apple = Turtle("circle")
    apple.color("red")
    apple.penup()
    screen.listen()
    screen.onkeypress(move_up, "w")
    screen.onkeypress(move_down, "s")
    screen.onkeypress(move_left, "a")
    screen.onkeypress(move_right, "d")
    apple_draw()
    snake_all_body = []
    while True:
    if snake.distance(apple) < 20:
    apple_draw()
    snake_body = Turtle("square")
    snake_body.color("grey")
    snake_body.penup()
    snake_all_body.append(snake_body)
    print(len(snake_all_body))
    minuser = len(snake_all_body)
    for index in range(len(snake_all_body) - 1):
    snake_all_body[minuser - 1].goto(snake_all_body[minuser - 2].xcor(), snake_all_body[minuser - 2].ycor())
    minuser -= 1
    if len(snake_all_body) > 0:
    snake_all_body[0].goto(snake.xcor(), snake.ycor())
    moving()
    screen.update()
    time.sleep(0.4)
    screen.exitonclick()