Download Game! Currently 69 players and visitors. Last logged in:DroolahTuppiBmoaSlimy

Blitzer's Blog >> 70721

Back to blogs index
Posted: 24 Mar 2026 04:10 [ permalink ]
10  REM *** HAUKI BASIC V1.0 - JUPITER LANDER ***
20  SCREEN VGA_320x200
30  PALETTE VIC20
40  
50  REM --- DEFINE ASSETS ---
60  DEF SPRITE 1, 8, 8, "00BBBB000B9999B0B999999B..." REM Cyan Ship Hex
70  DEF SPRITE 2, 8, 8, "0000000000EEEE0000CEEC00..." REM Flame Hex
80  
90  REM --- INIT ENGINE VARIABLES ---
100 SCORE = 0
110 GRAVITY 15       REM Engine automatically applies this to Y velocity
120 THRUST = 40
130 
140 REM --- LEVEL START ---
150 FUEL = 1000
160 X = 160000 : Y = 20000
170 VX = 0 : VY = 0
180 SEED TIMER
190 GENERATE MOONSCAPE, MULTIPAD 3, COLOR 14, PADCOLOR 13
200 
210 REM --- MAIN GAME LOOP ---
220 CLS
230 DRAW MOONSCAPE
240 
250 REM --- INPUT & PHYSICS ---
260 IF KEY("W") AND FUEL > 0 THEN VY = VY - THRUST : FUEL = FUEL - 1 : DRAW
SPRITE 2, X/1000-4, Y/1000+4
270 IF KEY("A") AND FUEL > 0 THEN VX = VX - (THRUST/2) : FUEL = FUEL - 1
280 IF KEY("D") AND FUEL > 0 THEN VX = VX + (THRUST/2) : FUEL = FUEL - 1
290 
300 VY = VY + GRAVITY
310 X = X + VX
320 Y = Y + VY
330 WRAP X, 0, 320000   REM Instantly handles screen wrap math!
340 
350 DRAW SPRITE 1, X/1000-4, Y/1000-4
360 PRINT 10, 10, "SCORE", SCORE, COLOR 10
370 PRINT 10, 20, "FUEL", FUEL, COLOR 14
380 
390 REM --- COLLISIONS ---
400 HIT = COLLIDE(X/1000, Y/1000+3, MOONSCAPE)
410 IF HIT = 0 THEN GOTO 500
420 IF HIT = SAFE_PAD AND VY < 25000 THEN GOTO 600
430 GOTO 700
440 
450 REM --- RENDER FRAME ---
460 500 VSYNC       REM Swaps the backbuffer and pauses for 60FPS
470 GOTO 220        REM Loop back to start
480 
490 REM --- WIN STATE ---
500 600 PRINT 100, 50, "PERFECT LANDING", COLOR 10
510 SCORE = SCORE + PAD_VALUE + FUEL
520 IF KEY("W") THEN GOTO 140 ELSE GOTO 620
530 
540 REM --- LOSE STATE ---
550 700 PRINT 108, 50, "MISSION FAILED", COLOR 12
560 SCORE = 0
570 IF KEY("W") THEN GOTO 140 ELSE GOTO 720