2 Code Beispiele
veitscherbub edited this page 2026-09-02 19:30:31 +02:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

🎮 Clack-BASIC: Beispielprogramme

Hier findest du praxiserprobte Beispielprogramme, die direkt im Standalone-CLI oder im Web-Studio ausgeführt werden können:


🏓 1. Ultra-Fast Autonomes Ping-Pong (ping_pong.bas)

Demonstriert autonomes Delta-Rendering, KI-Steuerung und Kollisionsphysik auf der 32×32 LED-Matrix:

REM ============================================================
REM 🏓 Clack-BASIC: Ultra-Fast Autonomes Ping-Pong
REM ============================================================

REM 1. Einmalig Display leeren
CLS

REM Ball-Koordinaten (Startmitte)
LET BX = 16
LET BY = 16
LET OLD_BX = 16
LET OLD_BY = 16
LET VX = 1
LET VY = 1

REM Paddle-Positionen (Hoehe 4 Pixel)
LET LY = 14
LET RY = 14
LET OLD_LY = 14
LET OLD_RY = 14

GAME_LOOP:
    REM --- Alte Positionen gezielt löschen (Zero Flicker!) ---
    PSET 1, OLD_LY, 0
    PSET 1, OLD_LY + 1, 0
    PSET 1, OLD_LY + 2, 0
    PSET 1, OLD_LY + 3, 0
    
    PSET 30, OLD_RY, 0
    PSET 30, OLD_RY + 1, 0
    PSET 30, OLD_RY + 2, 0
    PSET 30, OLD_RY + 3, 0
    
    PSET OLD_BX, OLD_BY, 0
    
    REM --- Neue Positionen zeichnen ---
    PSET 1, LY, 1
    PSET 1, LY + 1, 1
    PSET 1, LY + 2, 1
    PSET 1, LY + 3, 1
    
    PSET 30, RY, 1
    PSET 30, RY + 1, 1
    PSET 30, RY + 2, 1
    PSET 30, RY + 3, 1
    
    PSET BX, BY, 1
    
    REM --- Positionen merken ---
    LET OLD_LY = LY
    LET OLD_RY = RY
    LET OLD_BX = BX
    LET OLD_BY = BY
    
    REM --- Ball bewegen & Kollisionen ---
    LET BX = BX + VX
    LET BY = BY + VY
    
    IF BY <= 1 THEN
        LET VY = 1
    END IF
    IF BY >= 30 THEN
        LET VY = -1
    END IF
    
    IF BX <= 2 THEN
        LET VX = 1
    END IF
    IF BX >= 29 THEN
        LET VX = -1
    END IF
    
    REM --- KI: Paddles folgen Ball ---
    IF BY > LY + 1 THEN
        IF LY < 27 THEN
            LET LY = LY + 1
        END IF
    END IF
    IF BY < LY + 1 THEN
        IF LY > 1 THEN
            LET LY = LY - 1
        END IF
    END IF
    
    IF BY > RY + 1 THEN
        IF RY < 27 THEN
            LET RY = RY + 1
        END IF
    END IF
    IF BY < RY + 1 THEN
        IF RY > 1 THEN
            LET RY = RY - 1
        END IF
    END IF
    
    GOTO GAME_LOOP