Guest User

Untitled

a guest
Jan 6th, 2018
316
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.98 KB | None | 0 0
  1. import turtle, random , math
  2.  
  3. screen = turtle.Screen()
  4. screen.bgcolor("blue")
  5. screen.title("Snake Game")
  6. screen.setup(500,500,0,0)
  7. screen.tracer(0)
  8.  
  9. class Bord(turtle.Turtle):
  10. def __init__(self):
  11. turtle.Turtle.__init__(self)
  12. self.penup()
  13. self.speed(0)
  14. self.pensize(3)
  15. self.color("Black")
  16. self.setposition(-200,-200)
  17.  
  18. def draw(self):
  19. for i in range(4):
  20. self.pendown()
  21. self.forward(400)
  22. self.left(90)
  23. self.penup()
  24. self.hideturtle()
  25.  
  26.  
  27. class Snake(turtle.Turtle):
  28. def __init__(self):
  29. turtle.Turtle.__init__(self)
  30. self.color("white")
  31. self.shape("square")
  32. self.penup()
  33. self.speed(0)
  34. self.speed = 0.05
  35. self.direction = "stop"
  36.  
  37. def move(self):
  38. if self.direction =="left":
  39. self.goto(self.xcor() -self.speed, self.ycor())
  40. if self.xcor() < -190:
  41. self.direction = "stop"
  42. elif self.direction =="right":
  43. self.goto(self.xcor() + self.speed, self.ycor())
  44. if self.xcor() > 190:
  45. self.direction = "stop"
  46. elif self.direction == "up":
  47. self.goto(self.xcor() , self.ycor() + self.speed)
  48. if self.ycor() > 190:
  49. self.direction = "stop"
  50. elif self.direction == "down":
  51. self.goto(self.xcor(), self.ycor() - self.speed)
  52. if self.ycor() < -190:
  53. self.direction = "stop"
  54. else:
  55. self.goto(self.xcor(), self.ycor())
  56.  
  57. def move_left(self):
  58. self.direction = "left"
  59. def move_right(self):
  60. self.direction = "right"
  61. def move_up(self):
  62. self.direction = "up"
  63. def move_down(self):
  64. self.direction = "down"
  65.  
  66. class Food(turtle.Turtle):
  67. def __init__(self):
  68. turtle.Turtle.__init__(self)
  69. self.shape("circle")
  70. self.color("orange")
  71. self.penup()
  72. self.speed(0)
  73. self.setposition(random.randrange(-190,190), random.randrange(-190,190))
  74. def jump(self):
  75. self.goto(random.randrange(-190,190),\
  76. random.randrange(-190,190))
  77.  
  78. def is_contact(object_1, object_2):
  79. a = object_1.xcor() - object_2.xcor()
  80. b = object_1.ycor() - object_2.ycor()
  81. distance = math.sqrt((a ** 2) + (b ** 2))
  82. if distance < 10:
  83. return True
  84. else:
  85. return False
  86.  
  87. # OBJECTS
  88.  
  89. bord = Bord()
  90. bord.draw()
  91. snake = Snake()
  92. food = Food()
  93.  
  94. # KEY BINDINGS
  95. turtle.listen()
  96. turtle.onkey(snake.move_left,"Left")
  97. turtle.onkey(snake.move_right,"Right")
  98. turtle.onkey(snake.move_up,"Up")
  99. turtle.onkey(snake.move_down,"Down")
  100.  
  101. # MAIN FUNCTION
  102. def main():
  103. # GAME LOOP
  104. while True:
  105. screen.update()
  106. snake.move()
  107.  
  108. if is_contact(snake, food):
  109. print("contact")
  110. food.jump()
  111.  
  112. if __name__ =="__main__":
  113. main()
Advertisement
Add Comment
Please, Sign In to add comment