Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import turtle
- #Screen Setup
- wn = turtle.Screen()
- wn.bgcolor("black")
- wn.title("Space Invaders")
- #Draw Border
- border_pen = turtle.Turtle()
- border_pen.speed(0)
- border_pen.color("white")
- border_pen.penup()
- border_pen.setposition(-300, -300)
- border_pen.pendown()
- border_pen.pensize(3)
- for side in range(4):
- border_pen.fd(600)
- border_pen.lt(90)
- border_pen.hideturtle()
- #Create The Player Turtle
- player = turtle.Turtle()
- player.color("blue")
- player.shape("triangle")
- player.penup()
- player.speed(0)
- player.setposition(0, -250)
- player.setheading(90)
- turtlespeed = 15
- #Create the enemy
- enemy = turtle.Turtle()
- enemy.color("red")
- enemy.shape("circle")
- enemy.penup()
- enemy.speed(0)
- enemy.setposition(-200, 250)
- enemyspeed = 2
- #Create the player's bullet
- bullet.turtle.Turtle()
- bullet.color("yellow")
- bullet.shape("triangle")
- bullet.penup()
- bullet.speed(0)
- bullet.setheading(90)
- bullet.shapesize(0.5, 0.5)
- bullet.hideturtle()
- bulletspeed = 20
- #Define bullet state
- #ready - to fire
- #fire - bullet is firing
- bulletstate = "ready"
- #Move player left and right
- def move_Left ():
- x = turtle.xcor()
- x -= turtlespeed
- if x < -280:
- x = - 280
- player.setx(x)
- def move_Right():
- x = turtle.xcor()
- x += turtlespeed
- if x < -280:
- x = - 280
- player.setx(x)
- def fire_bullet():
- #Declare bulletstate as a global if it needs changed
- global bulletstate
- #Move the bullet to just above player
- x = player.xcor()
- y = player.ycor() + 10
- bullet.setposition(x, y)
- bullet.showturtle()
- #Create keyboard bindings
- turtle.listen()
- turtle.onkey(move_Left, "Left")
- turtle.onkey(move_Right, "Right")
- turtle.onkey(fire_bullet, "space")
- #Main game loop
- while True:
- #Move the enemy
- x = enemy.xcor()
- x += enemyspeed
- enemy.setx(x)
- #Move the enemy back and down
- if enemy.xcor() > 280:
- y = enemy.ycor()
- y -= 40
- enemyspeed *= - 1
- enemy.sety(y)
- if enemy.xcor() < - 280:
- y = enemy.ycor()
- y -= 40
- enemyspeed *= - 1
- enemy.sety(y)
- wn.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement