ří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()
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
ří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()