Guest User

Untitled

a guest
May 24th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.46 KB | None | 0 0
  1. Traceback (most recent call last):
  2. File "C:PythonPython36pygame projectsspace invaders.py", line 163, in <module>
  3. bullet.hideturtle()
  4. File "C:PythonPython36libturtle.py", line 2322, in hideturtle
  5. self.pen(shown=False)
  6. File "C:PythonPython36libturtle.py", line 2459, in pen
  7. self._update()
  8. File "C:PythonPython36libturtle.py", line 2660, in _update
  9. self._update_data()
  10. File "C:PythonPython36libturtle.py", line 2646, in _update_data
  11. self.screen._incrementudc()
  12. File "C:PythonPython36libturtle.py", line 1292, in _incrementudc
  13. raise Terminator
  14. turtle.Terminator
  15.  
  16. enemies = []
  17. number_of_enemies = 5
  18. for i in range(number_of_enemies):
  19. enemies.append(turtle.Turtle())
  20.  
  21. for enemy in enemies:
  22. enemy.color("green")
  23. enemy.shape("circle")
  24. enemy.penup()
  25. enemy.speed(0)
  26. x = random.randint(-200, 200)
  27. y = random.randint(100, 250)
  28. enemy.setposition(x, y)
  29.  
  30. enemyspeed = 2
  31.  
  32. def isCollision(t1, t2):
  33. distance = math.sqrt(math.pow(t1.xcor() - t2.xcor(), 2)+ math.pow(t1.ycor() - t2.ycor(), 2))
  34. if distance < 15:
  35. return True
  36. else:
  37. return False
  38.  
  39.  
  40.  
  41. while True:
  42.  
  43. for enemy in enemies:
  44. x = enemy.xcor()
  45. x += enemyspeed
  46. enemy.setx(x)
  47.  
  48. if enemy.xcor() > 280:
  49. for e in enemies:
  50. y = enemy.ycor()
  51. y -= 40
  52. enemy.sety(y)
  53. enemyspeed *= -1
  54.  
  55. if enemy.xcor() < -280:
  56. for e in enemies:
  57. y = enemy.ycor()
  58. y -= 40
  59. enemy.sety(y)
  60. enemyspeed *= -1
  61.  
  62. if bulletstate == "fire":
  63. y = bullet.ycor()
  64. y += bulletspeed
  65. bullet.sety(y)
  66.  
  67. if isCollision(bullet, enemy):
  68. #reset the bullet
  69. bullet.hideturtle()
  70. bulletstate = "ready"
  71. bullet.setposition(0, -400)
  72. #reset the enemy
  73. x = random.randint(-200, 200)
  74. y = random.randint(100, 250)
  75. enemy.setposition(x, y)
  76.  
  77. if isCollision(player, enemy):
  78. player.hideturtle()
  79. enemy.hideturtle()
  80. print ("Get To The Doctors! You're Riddled!")
  81. break
  82.  
  83. from turtle import Turtle, Screen
  84. from random import randint
  85.  
  86. NUMBER_OF_ENEMIES = 5
  87. ENEMY_JUMP = 40
  88.  
  89. BULLET_SPEED = 20
  90. PLAYER_SPEED = 15
  91.  
  92. SAFETY_DISTANCE = 15
  93.  
  94. GALLERY_WIDTH, GALLERY_HEIGHT = 560, 550
  95. GALLERY_BORDER = 80
  96.  
  97. # player movement
  98. def move_left():
  99. x = player.xcor() - PLAYER_SPEED
  100.  
  101. if x < -GALLERY_WIDTH / 2:
  102. x = -GALLERY_WIDTH / 2
  103.  
  104. player.setx(x)
  105.  
  106. def move_right():
  107. x = player.xcor() + PLAYER_SPEED
  108.  
  109. if x > GALLERY_WIDTH / 2:
  110. x = GALLERY_WIDTH / 2
  111.  
  112. player.setx(x)
  113.  
  114. def fire_bullet():
  115. global bulletstate
  116.  
  117. if bulletstate == 'ready':
  118. bulletstate = 'fire'
  119. bullet.setposition(player.position())
  120. bullet.forward(BULLET_SPEED / 2)
  121. bullet.showturtle()
  122.  
  123. def isCollision(t1, t2):
  124. return t1.distance(t2) < SAFETY_DISTANCE
  125.  
  126. def move():
  127. global enemy_speed, bulletstate
  128.  
  129. screen.tracer(False)
  130.  
  131. for enemy in enemies:
  132. x = enemy.xcor() + enemy_speed
  133.  
  134. enemy.setx(x)
  135.  
  136. if x > GALLERY_WIDTH / 2:
  137. for e in enemies:
  138. y = e.ycor() - ENEMY_JUMP
  139. e.sety(y)
  140.  
  141. enemy_speed *= -1
  142.  
  143. elif x < -GALLERY_WIDTH / 2:
  144. for e in enemies:
  145. y = e.ycor() - ENEMY_JUMP
  146. e.sety(y)
  147.  
  148. enemy_speed *= -1
  149.  
  150. if isCollision(player, enemy):
  151. player.hideturtle()
  152. enemy.hideturtle()
  153. print("Get To The Doctors! You're Riddled!")
  154. screen.update()
  155. return
  156.  
  157. if isCollision(bullet, enemy):
  158. # reset the bullet
  159. bullet.hideturtle()
  160. bullet.setposition(0, -GALLERY_HEIGHT)
  161. bulletstate = 'ready'
  162.  
  163. # reset the enemy
  164. enemy.hideturtle()
  165. x = randint(GALLERY_BORDER - GALLERY_WIDTH / 2, GALLERY_WIDTH / 2 - GALLERY_BORDER)
  166. y = randint(GALLERY_HEIGHT / 2 - 175, GALLERY_HEIGHT / 2 - 25)
  167. enemy.setposition(x, y)
  168. enemy.showturtle()
  169.  
  170. if bulletstate == 'fire':
  171. bullet.forward(BULLET_SPEED)
  172.  
  173. # check to see if the bullets has gone to the top
  174. if bullet.ycor() > GALLERY_HEIGHT / 2:
  175. bullet.hideturtle()
  176. bulletstate = 'ready'
  177.  
  178. screen.tracer(True)
  179.  
  180. screen.ontimer(move, 25)
  181.  
  182. screen = Screen()
  183. screen.setup(GALLERY_WIDTH + GALLERY_BORDER, GALLERY_HEIGHT + GALLERY_BORDER)
  184. screen.bgcolor('black')
  185.  
  186. player = Turtle('turtle', visible=False)
  187. player.speed('fastest')
  188. player.color('red')
  189. player.penup()
  190. player.setheading(90)
  191. player.sety(-250) # need to define this
  192. player.showturtle()
  193.  
  194. enemies = []
  195.  
  196. enemy_speed = 1
  197.  
  198. for _ in range(NUMBER_OF_ENEMIES):
  199. enemy = Turtle('circle', visible=False)
  200. enemy.speed('fastest')
  201. enemy.color('green')
  202. enemy.penup()
  203.  
  204. x = randint(GALLERY_BORDER - GALLERY_WIDTH / 2, GALLERY_WIDTH / 2 - GALLERY_BORDER)
  205. y = randint(GALLERY_HEIGHT / 2 - 175, GALLERY_HEIGHT / 2 - 25) # define these!
  206. enemy.setposition(x, y)
  207. enemy.showturtle()
  208.  
  209. enemies.append(enemy)
  210.  
  211. # create the player's spunk shots
  212. bullet = Turtle('triangle', visible=False)
  213. bullet.speed('fastest')
  214. bullet.shapesize(0.5)
  215. bullet.color('white')
  216. bullet.penup()
  217. bullet.setheading(90)
  218.  
  219. # define bullet state
  220. # ready - ready to fire
  221. # fire - bullet is firing
  222. bulletstate = 'ready'
  223.  
  224. screen.onkey(move_left, 'Left')
  225. screen.onkey(move_right, 'Right')
  226. screen.onkey(fire_bullet, 'space')
  227.  
  228. screen.listen()
  229.  
  230. move()
  231.  
  232. screen.mainloop()
Add Comment
Please, Sign In to add comment