food = Food() scoreboard = Scoreboard() screen.listen() screen.onkey(key="Left", fun=snake.move_left) screen.onkey(key="Right", fun=snake.move_right) screen.onkey(key="Up", fun=snake.move_up) screen.onkey(key="Down", fun=snake.move_down) game_is_on = True while game_is_on: screen.update() time.sleep(0.1) snake.move() # Detect collision with food if snake.head.xcor() > 290 or snake.head.xcor() < -290 or snake.head.ycor() < -287 or snake.head.ycor() > 287: scoreboard.game_over() game_is_on = False if food.distance(snake.head) < 15: food.refresh() snake.extend_segment() scoreboard.increase_score() # Detect collision with tail # for segments in snake.snake: # if snake.head != segments and snake.head.distance(segments) < 10: for segments in snake.snake[1:]: if snake.head.distance(segments) < 10: game_is_on = False scoreboard.game_over() screen.exitonclick()
snake = Snake() food = Food() screen.listen() screen.onkey(snake.move_up, "Up") screen.onkey(snake.move_down, "Down") screen.onkey(snake.move_right, "Right") screen.onkey(snake.move_left, "Left") game_is_on = True while game_is_on: screen.update() time.sleep(0.1) snake.move() if food.distance(snake.segments[0]) <= 15: food.refresh() snake.add_segment() scoreboard.increase_score() for segment in snake.segments[1:]: if snake.segments[0].distance(segment) <= 10: scoreboard.update_highest_score() snake.reset_snake() break if snake.segments[0].xcor() >= 300 or snake.segments[0].ycor() >= 300\ or snake.segments[0].xcor() <= -300 or snake.segments[0].ycor() <= -300: scoreboard.update_highest_score() snake.reset_snake()
screen.setup(600, 600) screen.bgcolor("black") screen.tracer(0) screen.title("Snake Game") snake = Snake(screen) food = Food() score = Score() end_game = False while not end_game: screen.update() time.sleep(0.1) snake.move_snake() # Detect Collision with Food if food.distance(snake.get_turtle()) < 15: print("Collision") food.refresh() score.score += 1 snake.increase_size() score.score_refresh() # Detect Collision with wall if snake.segments[0].xcor() > 280 or snake.segments[0].xcor( ) < -280 or snake.segments[0].ycor() > 280 or snake.segments[0].ycor( ) < -280: print("End of game") score.end_game() end_game = True # Detect tail collisions:
snake = Snake() food = Food() scoreboard = Scoreboard() screen.listen() screen.onkeypress(fun=snake.up, key="Up") screen.onkeypress(fun=snake.down, key="Down") screen.onkeypress(fun=snake.right, key="Right") screen.onkeypress(fun=snake.left, key="Left") race_on = True while race_on: screen.update() time.sleep(0.1) snake.move() if food.distance(snake.head) < 15: # detect collision food.refresh() scoreboard.increase_score() snake.extend_segment() if snake.head.xcor() < -295 or snake.head.xcor() > 295 or snake.head.ycor( ) < -295 or snake.head.ycor() > 295: race_on = False # game stop (going out of loop) scoreboard.game_over() # detect collision with tail for segment in snake.segment[1:]: if snake.head.distance(segment) < 10: scoreboard.game_over() race_on = False # game stop (going out of loop)