1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-09-04 11:10:15 +00:00
qb64/programs/samples/misc/sinecube.bas
SMcNeill 6e01fc8dce Altered string compare routines (<,<=,>,>=) so they don't give false results with CHR$(0).
Added new _STRCMP and _STRICMP commands for quick string comparisons.
Cleaned up QB64 to finish removing the QUI (quick user insert) code and folders.
Altered UCASE and LCASE routines to be faster in some situations for us.
2014-09-22 08:19:03 -04:00

50 lines
No EOL
981 B
QBasic

'sinecube 2006 mennonite
'public domain
DIM blox(40, 40, 40) AS INTEGER
SCREEN 12: LINE (0, 0)-(639, 479), , B
l = 8
B$ = B$ + "00000000..."
B$ = B$ + "llnnnnnnl.."
B$ = B$ + "l8lnnnnnnl."
B$ = B$ + "l88llllllll"
B$ = B$ + "l88l000000l"
B$ = B$ + "l88l000000l"
B$ = B$ + "l88l000000l"
B$ = B$ + "l88l000000l"
B$ = B$ + ".l8l000000l"
B$ = B$ + "..ll000000l"
B$ = B$ + "...llllllll"
blox(2, 3, 32) = 1
FOR l = 8 * 32 TO 1 STEP -8
FOR y = 4 TO 4 * 32 STEP 4
FOR x = 8 * 32 TO 1 STEP -8
mm = SIN(x * y * l * 3.14): if mm<0 then mm=-1 else if mm>0 then mm=1
IF blox(x / 8, y / 4, l / 8) = mm + 1 THEN
FOR by = 1 TO 11
FOR bx = 1 TO 11
IF right$(left$(b$,(by - 1) * 11 + bx),1) <> "." THEN
z = 11
PSET (x + bx - 1 + y - 3, by - 1 + y + l + 4), ASC(right$(left$(b$,(by - 1) * 11 + bx),1)) MOD 16 + (y MOD 2)
END IF
NEXT bx
NEXT by
END IF
IF INKEY$ = CHR$(27) THEN END
NEXT x
t = TIMER: DO: LOOP UNTIL t <> TIMER
NEXT y
NEXT l