Оглавление
§ Экран
Просто для интереса. Было интересно и увлекательно сделать на Quick Basic 4.5 такой экран.
§ Исходный код
SCREEN 13
DIM scr AS STRING * 6912
DIM dc(192) AS INTEGER
DATA 0,0,0
DATA 0,0,1
DATA 1,0,0
DATA 1,0,1
DATA 0,1,0
DATA 0,1,1
DATA 1,1,0
DATA 1,1,1
FOR i = 0 TO 7
READ r, g, b
OUT 968, i
OUT 969, r * 48: OUT 969, g * 48: OUT 969, b * 48
OUT 968, i + 8
OUT 969, r * 63: OUT 969, g * 63: OUT 969, b * 63
NEXT
FOR y = 0 TO 191
a = (y \ 8) AND 7
b = y AND 7
c = y \ 64
dc(y) = 32 * a + 256 * b + 2048 * c
NEXT
OPEN "SCREEN.SCR" FOR BINARY AS #1: GET #1, , scr: CLOSE #1
FOR y = 0 TO 191
FOR x = 0 TO 255 STEP 8
a = x \ 8
b = y \ 8
ch = ASC(MID$(scr, 1 + a + dc(y), 1))
attr = ASC(MID$(scr, 1 + 6144 + a + b * 32))
fr = attr AND 7
bg = (attr \ 8) AND 7
br = (attr AND 64) \ 8
bl = attr AND 128
FOR i = 0 TO 7
IF ch AND 128 THEN cl = fr ELSE cl = bg
PSET (32 + x + i, y), cl + br
ch = ch * 2
NEXT
NEXT
NEXT