Skip to content

Instantly share code, notes, and snippets.

@shinysu
Created September 18, 2021 07:28
Show Gist options
  • Save shinysu/cc3800b50bb37a1bee3b1c2e9cbc09ca to your computer and use it in GitHub Desktop.
Save shinysu/cc3800b50bb37a1bee3b1c2e9cbc09ca to your computer and use it in GitHub Desktop.
player colliding with enemy
import pgzrun
WIDTH = 1000
HEIGHT = 700
player = Actor('playership')
player.x = WIDTH / 2
player.y = HEIGHT - 50
def draw():
screen.blit('skyb', (0, 0))
player.draw()
pgzrun.go()
import pgzrun
WIDTH = 1000
HEIGHT = 700
player = Actor('playership')
player.x = WIDTH / 2
player.y = HEIGHT - 50
def draw():
screen.blit('skyb', (0, 0))
player.draw()
def update():
move_player()
def move_player():
if keyboard.left:
player.x -= 5
if keyboard.right:
player.x += 5
pgzrun.go()
'''
move bullets
'''
import pgzrun
WIDTH = 1000
HEIGHT = 700
player = Actor('playership')
player.x = WIDTH / 2
player.y = HEIGHT - 50
bullets = []
def draw():
screen.blit('skyb', (0, 0))
player.draw()
for bullet in bullets:
bullet.draw()
def update():
move_player()
def on_key_down(key):
if key == keys.SPACE:
create_new_bullet()
def move_player():
if keyboard.left:
player.x -= 5
if keyboard.right:
player.x += 5
def create_new_bullet():
bullet = Actor('bullet')
bullet.pos = player.pos
bullets.append(bullet)
pgzrun.go()
'''
move bullets
'''
import pgzrun
WIDTH = 1000
HEIGHT = 700
player = Actor('playership')
player.x = WIDTH / 2
player.y = HEIGHT - 50
bullets = []
def draw():
screen.blit('skyb', (0, 0))
player.draw()
for bullet in bullets:
bullet.draw()
def update():
move_player()
move_bullet()
def on_key_down(key):
if key == keys.SPACE:
create_new_bullet()
def move_player():
if keyboard.left:
player.x -= 5
if keyboard.right:
player.x += 5
def create_new_bullet():
bullet = Actor('bullet')
bullet.pos = player.pos
bullets.append(bullet)
def move_bullet():
for bullet in bullets:
if bullet.bottom < 0:
bullets.remove(bullet)
else:
bullet.y -= 10
pgzrun.go()
'''
create enemies
'''
import pgzrun
from random import randint
WIDTH = 1000
HEIGHT = 700
player = Actor('playership')
player.x = WIDTH / 2
player.y = HEIGHT - 50
bullets = []
enemies = []
score = 0
def draw():
screen.blit('skyb', (0, 0))
player.draw()
for bullet in bullets:
bullet.draw()
for enemy in enemies:
enemy.draw()
def update():
move_player()
move_bullet()
move_enemy()
def on_key_down(key):
if key == keys.SPACE:
create_new_bullet()
def move_player():
if keyboard.left:
player.x -= 5
if keyboard.right:
player.x += 5
def create_new_bullet():
bullet = Actor('bullet')
bullet.pos = player.pos
bullets.append(bullet)
def create_new_enemy():
enemy = Actor('enemygreen')
enemy.x = randint(100, WIDTH-100)
enemy.y = 10
enemies.append(enemy)
def move_bullet():
for bullet in bullets:
if bullet.bottom < 0:
bullets.remove(bullet)
else:
bullet.y -= 10
def move_enemy():
for enemy in enemies:
if enemy.top > HEIGHT:
enemies.remove(enemy)
create_new_enemy()
else:
enemy.y += 5
create_new_enemy()
pgzrun.go()
'''
check if bullet collides with enemy
'''
import pgzrun
from random import randint
WIDTH = 1000
HEIGHT = 700
player = Actor('playership')
player.x = WIDTH / 2
player.y = HEIGHT - 50
bullets = []
enemies = []
score = 0
WHITE = (255, 255, 255)
def draw():
screen.blit('skyb', (0, 0))
player.draw()
for bullet in bullets:
bullet.draw()
for enemy in enemies:
enemy.draw()
screen.draw.text("Score: "+str(score), (10, 10), fontsize=25, color=WHITE)
def update():
move_player()
move_bullet()
move_enemy()
check_bullet_collision()
def on_key_down(key):
if key == keys.SPACE:
create_new_bullet()
def move_player():
if keyboard.left:
player.x -= 5
if keyboard.right:
player.x += 5
def create_new_bullet():
bullet = Actor('bullet')
bullet.pos = player.pos
bullets.append(bullet)
def create_new_enemy():
enemy = Actor('enemygreen')
enemy.x = randint(100, WIDTH-100)
enemy.y = 10
enemies.append(enemy)
def move_bullet():
for bullet in bullets:
if bullet.bottom < 0:
bullets.remove(bullet)
else:
bullet.y -= 10
def move_enemy():
for enemy in enemies:
if enemy.top > HEIGHT:
enemies.remove(enemy)
create_new_enemy()
else:
enemy.y += 5
def check_bullet_collision():
global score
for bullet in bullets:
for enemy in enemies:
if bullet.colliderect(enemy):
score += 10
sounds.shoot.play()
bullets.remove(bullet)
enemies.remove(enemy)
create_new_enemy()
create_new_enemy()
pgzrun.go()
'''
check if bullet collides with enemy
'''
import pgzrun
from random import randint
WIDTH = 1000
HEIGHT = 700
player = Actor('playership')
player.x = WIDTH / 2
player.y = HEIGHT - 50
bullets = []
enemies = []
score = 0
WHITE = (255, 255, 255)
game_over = False
def draw():
screen.blit('skyb', (0, 0))
player.draw()
for bullet in bullets:
bullet.draw()
for enemy in enemies:
enemy.draw()
screen.draw.text("Score: "+str(score), (10, 10), fontsize=25, color=WHITE)
def update():
if not game_over:
move_player()
move_bullet()
move_enemy()
check_bullet_collision()
check_player_collision()
def on_key_down(key):
if not game_over:
if key == keys.SPACE:
create_new_bullet()
def move_player():
if keyboard.left:
player.x -= 5
if keyboard.right:
player.x += 5
def create_new_bullet():
bullet = Actor('bullet')
bullet.pos = player.pos
bullets.append(bullet)
def create_new_enemy():
enemy = Actor('enemygreen')
enemy.x = randint(100, WIDTH-100)
enemy.y = 10
enemies.append(enemy)
def move_bullet():
for bullet in bullets:
if bullet.bottom < 0:
bullets.remove(bullet)
else:
bullet.y -= 10
def move_enemy():
for enemy in enemies:
if enemy.top > HEIGHT:
enemies.remove(enemy)
create_new_enemy()
else:
enemy.y += 5
def check_bullet_collision():
global score
for bullet in bullets:
for enemy in enemies:
if bullet.colliderect(enemy):
score += 10
sounds.shoot.play()
bullets.remove(bullet)
enemies.remove(enemy)
create_new_enemy()
def check_player_collision():
global game_over
for enemy in enemies:
if enemy.colliderect(player):
enemies.remove(enemy)
player.image = 'damageship'
game_over = True
create_new_enemy()
pgzrun.go()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment