1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-06 18:40:23 +00:00
QB64-PE/tests/qbasic_testcases/pete/lineswin.bas
Matthew Kilgore 9ee89d6ff4 Add QBasic tests
These tests use a variety of sample code (with some of the larger files
removed, so they are not complete!) and verifies that they all compile
successfully.
2022-04-28 23:00:07 -04:00

68 lines
1.2 KiB
QBasic

'************************************************
'*
'* This program simulates a swinging motion
'*
'* "04 PMG
'*
SCREEN 12
' VIEW (10, 10)-(300, 180), , 1 '341
' PRINT "A big graphics viewport";
' cnt1 = cnt1 + 1
' VIEW SCREEN (80, 80)-(200, 125), , 1
' LOCATE 11, 11: PRINT "A small graphics viewport";
'SCREEN 12
x = 100
y = 0
radii = 10
cnt = 1
cnt2 = 0
delay = 10000000
WHILE cnt > 0
cnt2 = 0
x = 0
cnt = 0
WHILE cnt2 < 5010
cnt2 = cnt2 + 1
xw = 200 * SIN(2 * pi + cnt2 / 50)
yw = 200 * SIN(2 * pi + cnt2 / 50)
'PRINT "xw = ", xw
'WINDOW (0, 0)-(500 + xw, 400 + yw)
VIEW (100, 100)-(500, 450), , 1
LINE (200, 100)-(200, 100)
WHILE delcnt > 0
delcnt = delay - 1
WEND
CLS
LINE (200, 100)-(posx, posy), 1
CIRCLE (posx, posy), 20
LINE (200, 100)-(posx2, posy), 2
CIRCLE (posx2, posy), radii
LINE (200, 100)-(posx3, posy), 4
CIRCLE (posx3, posy), 40
posx = 200 + (50 - x / 100) * SIN(2 * pi + x / 50)
posx2 = 200 + (100 - x / 100) * SIN(2 * pi + x / 60)
posx3 = 200 + (50 - x / 100) * SIN(2 * pi + x / 70)
posy = 300 + 10 * SIN(2 * pi + x / 100)
radii = 10 + 10 * SIN(2 * pi + x / 100)
'PRINT "x = ", posx
x = x + 1
cnt = cnt + 1
WEND
WEND