Advertisement
Guest User

Untitled

a guest
Jan 17th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. import turtle
  2. import os
  3.  
  4. # Create window
  5. win = turtle.Screen()
  6. win.bgcolor("black")
  7. win.title("Space Invader")
  8.  
  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 line in range (4):
  19. border_pen.fd(600)
  20. border_pen.rt(90)
  21. border_pen.hideturtle()
  22.  
  23.  
  24. # Create main 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, -200)
  31. player.setheading(90)
  32.  
  33.  
  34. # 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.  
  43. # Create enemy's bullet
  44. bullet = turtle.Turtle()
  45. bullet.shape("triangle")
  46. bullet.color("white")
  47. bullet.penup()
  48. bullet.speed(0)
  49. bullet.setheading(90)
  50. bullet.shapesize(0.5, 0.5)
  51. bullet.hideturtle()
  52.  
  53.  
  54. # Variables
  55. player_speed = 15
  56. enemy_speed = 1.5
  57. bullet_speed = 5
  58.  
  59. '''
  60. Define bullet state
  61. ready - ready to fire
  62. fire - bullet is firing
  63. '''
  64. bullet_state = "ready"
  65.  
  66.  
  67. # Player moving left/right
  68. def move_left():
  69. left_x = player.xcor()
  70. left_x -= player_speed
  71. if left_x < -335:
  72. player.setx(-335)
  73. player.setx(left_x)
  74.  
  75.  
  76. def move_right():
  77. right_x = player.xcor()
  78. right_x += player_speed
  79. if right_x > 335:
  80. player.setx(335)
  81. player.setx(right_x)
  82.  
  83.  
  84. # Player shoots bullet
  85. def shoot_bullet():
  86. global bullet_state
  87.  
  88. bullet_x = player.xcor()
  89. bullet_y = player.ycor()
  90. bullet_y += bullet_speed
  91. bullet.setposition(bullet_x, bullet_y)
  92. bullet.showturtle()
  93.  
  94.  
  95. # Create keyboard binding
  96. win.listen()
  97. win.onkeypress(move_left, "Left")
  98. win.onkeypress(move_right, "Right")
  99. win.onkeypress(shoot_bullet, "space")
  100.  
  101.  
  102. # Move the enemy
  103. while True:
  104. x = enemy.xcor()
  105. x += enemy_speed
  106. enemy.setx(x)
  107.  
  108. if enemy.xcor() > 290:
  109. y = enemy.ycor()
  110. y -= 40
  111. enemy_speed *= -1
  112. enemy.sety(y)
  113.  
  114. if enemy.xcor() < -290:
  115. y = enemy.ycor()
  116. y -= 40
  117. enemy_speed *= -1
  118. enemy.sety(y)
  119.  
  120.  
  121. # Main game loop
  122. win.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement