Advertisement
DiselGaming

Untitled

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