Advertisement
Guest User

Space Invaders week 4

a guest
Dec 11th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.16 KB | None | 0 0
  1. import turtle
  2.  
  3.  
  4. #Screen Setup
  5.  
  6. wn = turtle.Screen()
  7. wn.bgcolor("black")
  8. wn.title("Space Invaders")
  9.  
  10. #Draw Border
  11. border_pen = turtle.Turtle()
  12. border_pen.speed(0)
  13. border_pen.color("white")
  14. border_pen.penup()
  15. border_pen.setposition(-300, -300)
  16. border_pen.pendown()
  17. border_pen.pensize(3)
  18. for side in range(4):
  19.     border_pen.fd(600)
  20.     border_pen.lt(90)
  21.     border_pen.hideturtle()
  22.  
  23. #Create The Player Turtle
  24. player = turtle.Turtle()
  25. player.color("blue")
  26. player.shape("triangle")
  27. player.penup()
  28. player.speed(0)
  29. player.setposition(0, -250)
  30. player.setheading(90)
  31.  
  32. turtlespeed = 15
  33.  
  34. #Create  the enemy
  35. enemy = turtle.Turtle()
  36. enemy.color("red")
  37. enemy.shape("circle")
  38. enemy.penup()
  39. enemy.speed(0)
  40. enemy.setposition(-200, 250)
  41.  
  42. enemyspeed = 2
  43.  
  44. #Create the player's bullet
  45. bullet.turtle.Turtle()
  46. bullet.color("yellow")
  47. bullet.shape("triangle")
  48. bullet.penup()
  49. bullet.speed(0)
  50. bullet.setheading(90)
  51. bullet.shapesize(0.5, 0.5)
  52. bullet.hideturtle()
  53.  
  54. bulletspeed = 20
  55.  
  56. #Define bullet state
  57. #ready - to fire
  58. #fire - bullet is firing
  59. bulletstate = "ready"
  60.  
  61.  
  62. #Move player left and right
  63.  
  64. def move_Left ():
  65.     x = turtle.xcor()
  66.     x -= turtlespeed
  67.     if x < -280:
  68.         x = - 280
  69.     player.setx(x)
  70.  
  71. def move_Right():
  72.     x = turtle.xcor()
  73.     x += turtlespeed
  74.     if x < -280:
  75.         x = - 280
  76.     player.setx(x)
  77.  
  78. def fire_bullet():
  79.     #Declare bulletstate as a global if it needs changed
  80.     global bulletstate
  81.  
  82.     #Move the bullet to just above player
  83.     x = player.xcor()
  84.     y = player.ycor() + 10
  85.     bullet.setposition(x, y)
  86.     bullet.showturtle()
  87.  
  88.  
  89. #Create keyboard bindings
  90. turtle.listen()
  91. turtle.onkey(move_Left, "Left")
  92. turtle.onkey(move_Right, "Right")
  93. turtle.onkey(fire_bullet, "space")
  94.  
  95. #Main game loop
  96. while True:
  97.  
  98.     #Move the enemy
  99.     x = enemy.xcor()
  100.     x += enemyspeed
  101.     enemy.setx(x)
  102.  
  103.     #Move the enemy back and down
  104.     if enemy.xcor() > 280:
  105.         y = enemy.ycor()
  106.         y  -= 40
  107.         enemyspeed *= - 1
  108.         enemy.sety(y)
  109.  
  110.     if enemy.xcor() < - 280:
  111.         y = enemy.ycor()
  112.         y  -= 40
  113.         enemyspeed *= - 1
  114.         enemy.sety(y)
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123. wn.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement