RosettaCodeData/Task/Write-language-name-in-3D-ASCII/ZX-Spectrum-Basic/write-language-name-in-3d-ascii-1.basic
2023-07-01 13:44:08 -04:00

37 lines
1.2 KiB
Text

10 DIM b(5,5): REM our bigmap characters
20 FOR l=1 TO 5: REM 5 characters
30 FOR m=1 TO 5: REM 5 rows
40 READ b(m,l)
50 NEXT m
60 NEXT l
70 PAPER 0: BORDER 0: REM black background and border
80 INK 2: REM our shadow will be red
90 CLS
100 LET r=8: REM shadow will start on row 8
110 LET c=1: REM shadow will start at column 1
120 GO SUB 2000: REM draw shadow
130 INK 6: REM our foreground will be yellow
140 LET r=9: REM foreground will start on row 9
150 LET c=2: REM foreground will start on column 2
160 GO SUB 2000: REM display the language name
999 STOP
1000 REM convert to binary bigmap
1010 LET z=16
1020 IF t>=z THEN PRINT AT r+l-1,c+c1;CHR$ (143);: LET t=t-z: REM 143 is a block
1040 LET c1=c1+1: LET z=z/2
1050 IF z>=1 THEN GO TO 1020
1060 RETURN
2000 REM display the big letters
2010 FOR l=1 TO 5: LET c1=0: REM our 5 rows
2030 FOR m=1 TO 5: REM bigmap for each character
2040 LET t=b(l,m)
2050 GO SUB 1000
2060 LET c1=c1+1: REM PRINT " ";: REM space between each letter
2070 NEXT m
2080 NEXT l
2090 RETURN
9000 DATA 30,17,30,17,30: REM B
9010 DATA 14,17,31,17,17: REM A
9020 DATA 15,16,14,1,30: REM S
9030 DATA 31,4,4,4,31: REM I
9040 DATA 14,17,16,17,14: REM C