Dojo Defender Sessie 2: Cheatsheet
# Schieten met SPATIE
def on_key_down(key):
global shoot_cooldown
if key == keys.SPACE and shoot_cooldown == 0:
bullet = Actor('bullet')
bullet.x = ship.x
bullet.y = ship.y - 20
bullets.append(bullet)
shoot_cooldown = 15
# Kogels laten bewegen en verwijderen
for bullet in bullets[:]:
bullet.y -= 8
if bullet.y < -10:
bullets.remove(bullet)
# Vijand spawnen
def spawn_enemy():
enemy = Actor('enemy_drone')
enemy.x = random.randint(30, WIDTH - 30)
enemy.y = -30
enemy.speed = random.uniform(1, 3)
enemies.append(enemy)
# Vijand spawn-interval
spawn_counter += 1
if spawn_counter >= spawn_interval:
spawn_counter = 0
spawn_enemy()
# Kogel raakt vijand
for bullet in bullets[:]:
bullet.y -= 8
if bullet.y < -10:
bullets.remove(bullet)
continue
for enemy in enemies[:]:
if bullet.colliderect(enemy):
bullets.remove(bullet)
enemies.remove(enemy)
score += 10
break
# Waves
enemies_destroyed += 1
if enemies_destroyed % 10 == 0:
wave += 1
spawn_interval = max(60, spawn_interval - 10)
# Sinus-beweging (import math)
enemy.x = enemy.start_x + math.sin(timer * 0.03 + enemy.strafe_offset) * 50
# Wave tekst tonen
if wave_display_timer > 0:
screen.draw.text(f"WAVE {wave}!", center=(WIDTH/2, HEIGHT/2),
color="yellow", fontsize=60)