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)