Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import turtle
- import os
- # Create window
- win = turtle.Screen()
- win.bgcolor("black")
- win.title("Space Invader")
- # 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 line in range (4):
- border_pen.fd(600)
- border_pen.rt(90)
- border_pen.hideturtle()
- # Create main player turtle
- player = turtle.Turtle()
- player.color("blue")
- player.shape("triangle")
- player.penup()
- player.speed(0)
- player.setposition(0, -200)
- player.setheading(90)
- # Enemy
- enemy = turtle.Turtle()
- enemy.color("red")
- enemy.shape("circle")
- enemy.penup()
- enemy.speed(0)
- enemy.setposition(-200, 250)
- # Create enemy's bullet
- bullet = turtle.Turtle()
- bullet.shape("triangle")
- bullet.color("white")
- bullet.penup()
- bullet.speed(0)
- bullet.setheading(90)
- bullet.shapesize(0.5, 0.5)
- bullet.hideturtle()
- # Variables
- player_speed = 15
- enemy_speed = 1.5
- bullet_speed = 5
- '''
- Define bullet state
- ready - ready to fire
- fire - bullet is firing
- '''
- bullet_state = "ready"
- # Player moving left/right
- def move_left():
- left_x = player.xcor()
- left_x -= player_speed
- if left_x < -335:
- player.setx(-335)
- player.setx(left_x)
- def move_right():
- right_x = player.xcor()
- right_x += player_speed
- if right_x > 335:
- player.setx(335)
- player.setx(right_x)
- # Player shoots bullet
- def shoot_bullet():
- global bullet_state
- bullet_x = player.xcor()
- bullet_y = player.ycor()
- bullet_y += bullet_speed
- bullet.setposition(bullet_x, bullet_y)
- bullet.showturtle()
- # Create keyboard binding
- win.listen()
- win.onkeypress(move_left, "Left")
- win.onkeypress(move_right, "Right")
- win.onkeypress(shoot_bullet, "space")
- # Move the enemy
- while True:
- x = enemy.xcor()
- x += enemy_speed
- enemy.setx(x)
- if enemy.xcor() > 290:
- y = enemy.ycor()
- y -= 40
- enemy_speed *= -1
- enemy.sety(y)
- if enemy.xcor() < -290:
- y = enemy.ycor()
- y -= 40
- enemy_speed *= -1
- enemy.sety(y)
- # Main game loop
- win.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement