The CLS command was not working out of the box as far as I tested, but using the EMPTYTILE worked!
The variable declaration topic I thought it could leave users a bit confused why it would not work.
But what about things that could be done with the ability to draw semigraphics 4 and text on screen?...
Available only through advanced AI on the Color Computer.
Code: Select all
REM --- TEXT MODE DISPLAY SG4
RANDOMIZE:x%=0 : y%=0 : a$="" : b$=""
DIM bkg(512)= #{$80,$80,$80,$80,$80,$a7,$af,$af,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$af,$af,$af,$c5,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$ac,$ad,$af,$af,$af,$af,$af,$af,$80,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$af,$af,$c4,$c2,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$80,$80,$80,$ae,$ad,$af,$af,$af,$a2,$80,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$af,$aa,$ca,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$80,$a1,$a3,$ab,$a3,$a3,$ab,$af,$af,$a2,$80,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$af,$c5,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$80,$a7,$af,$af,$af,$df,$dd,$df,$ac,$ac,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$ab,$c9,$c2,$80,$ff,$ff,$bb,$80,$80,$80,$80,_
$a7,$af,$af,$80,$df,$df,$80,$da,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$ab,$c4,$c8,$cc,$cc,$bf,$ba,$c3,$c6,$cc,_
$af,$af,$80,$80,$dd,$df,$df,$da,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$af,$aa,$ff,$ff,$bf,$ba,$80,$80,$80,_
$af,$ab,$a2,$80,$d4,$df,$da,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$aa,$bf,$ff,$bf,$a2,$80,$80,$80,_
$af,$af,$af,$ab,$a2,$dd,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$a8,$fc,$ff,$bf,$ad,$a2,$80,$80,_
$af,$af,$af,$af,$af,$ab,$a2,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$fc,$bc,$80,$ad,$a2,$80,_
$ac,$ac,$ac,$ac,$ac,$ac,$ac,$a8,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$98,$98,$98,$80,$80,$ac,$80,_
$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80}
REM --- DRAW BKG CHARACTERS
EMPTYTILE=128
CLS
FOR x=0 TO 511
POKE 1024+x, bkg(x)
NEXT
DO
REM --- Mano Courie
WAIT #1000 MILLISECONDS
FOR x=352 TO 511
POKE 1024+x,128 :REM CLS
NEXT
LOCATE 3,12:PRINT CHR(133);CHR(139);STRING(CHR(143),14); :REM DRAW DIALOG BOX
LOCATE 4,13:PRINT CHR(141);STRING(CHR(143),14);
LOCATE 5,14:PRINT STRING(CHR(143),14);
LOCATE 5,15:PRINT STRING(CHR(143),14);
x=RND(10) :REM CHOOSE TEXT
IF x=0 THEN: a$="LIKE I SAID,":b$="ALL FINE" :ENDIF
IF x=1 THEN: a$="HE TOLD":b$="NOTHING" :ENDIF
IF x=2 THEN: a$="JONNY WAS":b$="MAD!" :ENDIF
IF x=3 THEN: a$="DEALT WITH":b$="" :ENDIF
IF x=4 THEN: a$="THAT WAS AN":b$="AMBUSH!" :ENDIF
IF x=5 THEN: a$="ON SCHEDULLE":b$="" :ENDIF
IF x=6 THEN: a$="NO ONE CAME":b$="OUT" :ENDIF
IF x=7 THEN: a$="HAPPENED A":b$="COUPLE DAYS" :ENDIF
IF x=8 THEN: a$="ERICO SOLVED":b$="THAT" :ENDIF
IF x=9 THEN: a$="TROUBLED":b$="SITUATION!" :ENDIF
LOCATE 6,13:PRINT a$; :REM DRAW TEXT
LOCATE 6,14:PRINT b$;
FOR x=0 TO 6 :REM TALKING
LOCATE 5,7
PRINT CHR(222);CHR(216);
WAIT #150 MILLISECONDS:LOCATE 5,7
PRINT CHR(223);CHR(218);
WAIT #150 MILLISECONDS
NEXT
REM --- Madame Xavasca
WAIT #1000 MILLISECONDS
FOR x=352 TO 511
POKE 1024+x,128 :REM CLS
NEXT
LOCATE 13,12:PRINT STRING(CHR(143),14);CHR(135);CHR(138); :REM DRAW DIALOG BOX
LOCATE 13,13:PRINT STRING(CHR(143),14);CHR(142);
LOCATE 13,14:PRINT STRING(CHR(143),14);
LOCATE 13,15:PRINT STRING(CHR(143),14);
x=RND(10) :REM CHOOSE TEXT
IF x=0 THEN: a$="HOW IS THE":b$="CARGO?" :ENDIF
IF x=1 THEN: a$="WHAT DID I":b$="TELL YOU?" :ENDIF
IF x=2 THEN: a$="AND THE JOB?":b$="" :ENDIF
IF x=3 THEN: a$="DON'T TELL":b$="ME!" :ENDIF
IF x=4 THEN: a$="GOT THE":b$="PAYBACK?" :ENDIF
IF x=5 THEN: a$="VERY WELL":b$="" :ENDIF
IF x=6 THEN: a$="ABOUT THE":b$="COUNTERFEIT?" :ENDIF
IF x=7 THEN: a$="ORDER MORE":b$="RESOURCES" :ENDIF
IF x=8 THEN: a$="FORGET ABOUT":b$="IT!" :ENDIF
IF x=9 THEN: a$="SHOW WHAT WE":b$="GOT!" :ENDIF
LOCATE 14,13:PRINT a$; :REM DRAW TEXT
LOCATE 14,14:PRINT b$;
FOR x=0 TO 6 :REM TALKING
LOCATE 25,7:PRINT CHR(188);
LOCATE 25,8:PRINT CHR(188);
WAIT #150 MILLISECONDS
LOCATE 25,7:PRINT CHR(191);
LOCATE 25,8:REM PRINT CHR(252);
WAIT #150 MILLISECONDS
NEXT
LOOP
First, I noticed something strange, look at the almost last line LOCATE 25,8:REM PRINT CHR(252);
Remove the REM and the code will hang, I don't know the reason, happens if CHR is used, seems to be a bug?
Also, am I using the RANDOMIZER correctly? I'd think it would work as RANDOMIZE TIMER for RNDs.
Anyways, by displaying graphics like that means we have a non-linear animation creation and editor system? :p