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/cuberot.bas
Luke Ceddia b586eafd3b Integrated _BLINEINPUT into regular LINE INPUT for BINARY files
LINE INPUT will now use the faster method if passed a file handle
that has been opened FOR BINARY. As such, the _BLINEINPUT command
has been removed.

qb64.bas now takes advantage of this for reading from '$include files,
at least in Include Manager 1. Some tweaking of internal/source/main.txt
was required to get things into a sane state, so I'm holing off changing
the compiler any further so the auto-builder can make sure everything's
smoothed over.

Note: Everything should still compile as normal; I'm just being overcautious.
2014-07-27 00:06:17 +10:00

16 lines
1.2 KiB
QBasic

' cube rotator in 11 lines. From a 19 liner by Entropy, shrinked by Antoni Gual
'for Rel's 9 LINER contest at QBASICNEWS.COM 1/2003
'------------------------------------------------------------------------
1 IF x1 = 0 THEN SCREEN 13 ELSE r = (r + .01745) + 6.283185 * (r >= 6.283185)
2 FOR x = -30 TO 30 STEP 10
3 FOR y = -30 TO 30 STEP 10
4 FOR z = -30 TO 30 STEP 10
5 x1 = ((x * COS(r) - (z * COS(r) - y * SIN(r)) * SIN(r)) * COS(r) + (y * COS(r) + z * SIN(r)) * SIN(r)) / (x * SIN(r) + (z * COS(r) - y * SIN(r)) * COS(r) + 100)
6 y1 = ((y * COS(r) + z * SIN(r)) * COS(r) - (x * COS(r) - (z * COS(r) - y * SIN(r)) * SIN(r)) * SIN(r)) / (x * SIN(r) + (z * COS(r) - y * SIN(r)) * COS(r) + 100)
7 PSET ((100 * x1 + 160), (100 * y1 + 100)), 31
'7 PSET ((100 * (((x * COS(r) - (z * COS(r) - y * SIN(r)) * SIN(r)) * COS(r) + (y * COS(r) + z * SIN(r)) * SIN(r)) / (x * SIN(r) + (z * COS(r) - y * SIN(r)) * COS(r) + 100)) + 160), (100 * (((y * COS(r) + z * SIN(r)) * COS(r) - (x * COS(r) - (z * COS(r) - y * SIN(r)) * SIN(r)) * SIN(r)) / (x * SIN(r) + (z * COS(r) - y * SIN(r)) * COS(r) + 100)) + 100)), 31
8 NEXT z, y, x
9 WAIT &H3DA, 8
10 LINE (99, 39)-(221, 161), 0, BF
11 IF LEN(INKEY$) = 0 THEN GOTO 1