Advertisement
a_busy_coding_nerd

Snake game part 4 problem

Feb 6th, 2022
397
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.04 KB | None | 0 0
  1. import turtle
  2. import time
  3. import random
  4. import math
  5.  
  6. wn = turtle.Screen()
  7. wn.setup(height=1000, width=1000)
  8. wn.bgcolor("grey")
  9. wn.title("Snake by @a_busy_coding_nerd")
  10. wn.tracer(0)
  11.  
  12. delay = (0.00001)
  13.  
  14. border_pen = turtle.Turtle()
  15. border_pen.penup()
  16. border_pen.hideturtle()
  17. border_pen.speed("fastest")
  18. border_pen.goto(-400, -400)
  19. border_pen.pendown()
  20. border_pen.pensize(6)
  21. for square in range(4):
  22.     border_pen.fd(800)
  23.     border_pen.left(90)
  24.  
  25. speed = 3
  26. score = 0
  27. lives = 1
  28.  
  29. snake = turtle.Turtle()
  30. snake.shape("square")
  31. snake.color("green")
  32. snake.penup()
  33. snake.shapesize(stretch_wid=1, stretch_len=1)
  34. snake.speed(0)
  35. snake.goto(0,0)
  36. snake.setheading(90)
  37.  
  38. apple = turtle.Turtle()
  39. apple.shape("circle")
  40. apple.color("red")
  41. apple.penup()
  42. apple.shapesize(stretch_wid=1, stretch_len=1)
  43. apple.speed(0)
  44. apple.goto(0, 300)
  45.  
  46. pen = turtle.Turtle()
  47. pen.hideturtle()
  48. pen.penup()
  49. pen.goto(0,460)
  50. pen.color("black")
  51. pen.write("Your lives: 1",align="center",font=("Courier",24,"bold"))
  52.  
  53. pen1 = turtle.Turtle()
  54. pen1.hideturtle()
  55. pen1.penup()
  56. pen1.goto(0,430)
  57. pen1.color("black")
  58. pen1.write("Your score: 0",align="center", font=("Courier",24,"bold"))
  59.  
  60. pen2 = turtle.Turtle()
  61. pen2.hideturtle()
  62. pen2.penup()
  63. pen2.goto(0,60)
  64. pen2.color("black")
  65.  
  66. snake_body_parts = []
  67.  
  68. def snake_up():
  69.     snake.setheading(90)
  70.  
  71. def snake_right():
  72.     snake.setheading(0)
  73.  
  74. def snake_left():
  75.     snake.setheading(180)
  76.    
  77. def snake_down():
  78.     snake.setheading(270)
  79.  
  80. wn.listen()
  81. wn.onkey(snake_up,"Up")
  82. wn.onkey(snake_right,"Right")
  83. wn.onkey(snake_left,"Left")
  84. wn.onkey(snake_down,"Down")
  85.  
  86.  
  87.  
  88. while True:
  89.     wn.update()
  90.  
  91.     snake.fd(speed)
  92.  
  93.     if snake.ycor() > 400 or snake.ycor() < -400:      
  94.         lives -= 1    
  95.  
  96.     if snake.xcor() > 400 or snake.xcor() < -400:
  97.         lives -= 1
  98.  
  99.     if lives == 0:
  100.         apple.hideturtle()
  101.         pen.clear()
  102.         pen1.clear()
  103.         pen1.goto(0,0)
  104.         pen1.write("Your score: {}".format(score),align="center", font=("Courier",24,"bold"))
  105.         pen2.write("Game over!",align="center", font=("Courier",24,"bold"))
  106.  
  107.     d = math.sqrt(math.pow(snake.xcor()-apple.xcor(),2) + math.pow(snake.ycor()-apple.ycor(),2))
  108.  
  109.     if d < 20:
  110.         x = random.randint(-390, 390)
  111.         y = random.randint(-390, 390)
  112.         apple.goto(x, y)
  113.         score += 1
  114.         pen1.clear()
  115.         pen1.write("Your score: {}".format(score),align="center", font=("Courier",24,"bold"))
  116.  
  117.         new_snake_part = turtle.Turtle()
  118.         new_snake_part.penup()
  119.         new_snake_part.shape("square")
  120.         new_snake_part.color("lightgreen")
  121.         new_snake_part.speed(0)
  122.         snake_body_parts.append(new_snake_part)
  123.  
  124.     for index in range(len(snake_body_parts)-1, 0, -1):
  125.         x = snake_body_parts[index-1].xcor()
  126.         y = snake_body_parts[index-1].ycor()
  127.         snake_body_parts[index].goto(x, y)
  128.  
  129.     if len(snake_body_parts) > 0:
  130.         x = snake.xcor()
  131.         y = snake.ycor()
  132.         snake_body_parts[0].goto(x, y)
  133.    
  134.     time.sleep(delay)
  135.  
  136. wn.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement