A comet crawls across the top of the screen while your rocket waits on the launch pad. Press F to fire: the rocket climbs with a flame trail, and if it reaches the comet’s height as the comet passes overhead you score a hit. A miss resets the round.
The program is the type-in from SYNC v2 n4 (1982) (see the article Comet Crusher). Bob Swoger’s copy was transferred from the TS1000 to the TS2068 with Upload 2000.
Program Analysis
The comet moves one ZX81 pixel per step with PAUSE 45 between steps, and the rocket rises one line per step after launch. A hit is detected at line 150 when the comet’s x position is 39 and the rocket is in the top rows.
This copy came from a Larken disk. The ZX81 POKEs to its FRAMES counter were removed, the comet is drawn as a ZX81-sized pixel by a subroutine at 2010 (Upload 2000 had dropped UNPLOT), and F is accepted in lower case too. Tested in ZEsarUX on a stock TS2068.
Source Code
1 REM ::COMET::CRUSHER::TO::SAVE::GOTO::500.::
5 CLS
10 LET H=18
15 LET A=0
20 LET Y=37
25 LET X=0
30 PRINT AT 18,19;":'";TAB 19;" :";TAB 19;".'. "
40 PRINT AT 20,0;"::PRESS::'F'::TO::FIRE.::"
50 PRINT AT 21,0;"::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
60 LET u=X-1: LET v=Y: LET w=1: GO SUB 2010
70 LET u=X: LET v=Y: LET w=0: GO SUB 2010
80 LET X=X+1
85 PAUSE 45
87 REM removed (LKDOS-only)
90 IF X>63 THEN GO TO 1
100 IF INKEY$="F" OR INKEY$="f" THEN LET A=1
110 IF A=1 THEN PRINT AT 20,0;" "
120 IF A=0 THEN GO TO 30
130 LET H=H-1
140 PRINT AT H,19;":'";TAB 19;" :";TAB 19;".'. ";TAB 19;"* ";TAB 19;" "
150 IF X=39 AND H<4 AND H>0 THEN GO TO 200
160 IF H=0 THEN GO TO 1
170 IF H=17 THEN GO TO 50
180 GO TO 60
200 CLS
210 PRINT AT 3,19;"::HIT::"
220 PAUSE 500
225 REM removed (LKDOS-only)
230 RUN
500 SAVE "COMET CRUSHER"
510 RUN
2000 REM plot (w=0) or unplot (w=1) one ZX81-size pixel at u,v
2010 FOR q=0 TO 3: PLOT INVERSE w;4*u,4*v+q: DRAW INVERSE w;3,0: NEXT q: RETURN
9992 SAVE "CMTCRH.B1"
9998 REM was LKDOS-onlyNote: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

