RosettaCodeData/Task/Colour-bars-Display/BASIC/colour-bars-display-3.basic

22 lines
714 B
Plaintext

5 REM COLOR BARS PROGRAM
10 PRINT CHR$(147);:DIM CO(17):C=1
20 READ CO(C):IF CO(C)>0 THEN C=C+1:GOTO 20
25 SP$=" ":H=22:C=C-1:REM SP$=5 SPACES
30 FOR R=1 TO C STEP INT(C/2)
40 FOR H=1 TO 10
50 FOR B=R TO (R+INT(C/2))-1
60 PRINT CHR$(18);CHR$(CO(B));SP$;
70 NEXT B
75 REM CHECK IF PALETTE IS ONLY 8 (VIC-20).
76 REM IF SO, WE NEED TO FILL THE LAST TWO SPACES.
80 IF C<=8 THEN PRINT " ";
90 NEXT H:NEXT R
100 GET K$:IF K$="" THEN 100
110 END
280 REM BECAUSE THE CONTROL CODES FOR COLOR ARE NON-SEQUENTIAL,
285 REM WE PUT THEM INTO A SEQUENTIAL ARRAY FOR USE
300 DATA 144,5,28,159,156,30,31,158
305 REM OMIT OR REM THE NEXT LINE FOR VIC-20
310 DATA 129,149,150,151,152,153,154,155
320 DATA 0:REM DATA TERMINATOR