Metropoli BBS
VIEWER: laatikko.bas MODE: TEXT (CP437)
'                           Katso Luemut.txt
'
'                     3-ulotteisesti pyörivä laatikko
'                     jota voi kääntää, venyttää ja siirrellä
'                     +, -, nuoli-, a, w, s ja d-näppäimillä
'
'
'
'

SCREEN 13
aaa = 50
vv = 20
aa = 10

r = 1.57
xk = 160
yk = 100
DO
GOSUB lines0:
s = s + .1
IF s >= 1.57 THEN s = 0
s1 = s
s2 = s + r
s3 = s + r * 2
s4 = s + r * 3


x1 = INT(COS(s1) * aaa) + xk
x2 = INT(COS(s2) * aaa) + xk
x3 = INT(COS(s3) * aaa) + xk
x4 = INT(COS(s4) * aaa) + xk
y1 = INT(SIN(s1) * aa) + yk
y2 = INT(SIN(s2) * aa) + yk
y3 = INT(SIN(s3) * aa) + yk
y4 = INT(SIN(s4) * aa) + yk

'www = INT(x1 + x3) / 2
'wwww = INT(x2 + x4) / 2
'PSET (wwww, www - 60)

SELECT CASE INKEY$
CASE "+"
aa = aa + 1
CASE "-"
aa = aa - 1
CASE "w"
yk = yk - 1
CASE "s"
yk = yk + 1
CASE "a"
xk = xk - 1
CASE "d"
xk = xk + 1
CASE CHR$(0) + "H"
aaa = aaa + 1
CASE CHR$(0) + "P"
aaa = aaa - 1
CASE CHR$(0) + "K"
vv = vv + 1
CASE CHR$(0) + "M"
vv = vv - 1
CASE CHR$(27): END
CASE ELSE
END SELECT
GOSUB lines15:
PLAY "p64"
LOOP
END
lines0:
LINE (x1, y1)-(x2, y2), 0
LINE (x2, y2)-(x3, y3), 0
LINE (x3, y3)-(x4, y4), 0
LINE (x4, y4)-(x1, y1), 0

LINE (x1, y1 + vv)-(x2, y2 + vv), 0
LINE (x2, y2 + vv)-(x3, y3 + vv), 0
LINE (x3, y3 + vv)-(x4, y4 + vv), 0
LINE (x4, y4 + vv)-(x1, y1 + vv), 0

LINE (x1, y1)-(x1, y1 + vv), 0
LINE (x2, y2)-(x2, y2 + vv), 0
LINE (x3, y3)-(x3, y3 + vv), 0
LINE (x4, y4)-(x4, y4 + vv), 0
RETURN
lines15:
LINE (x1, y1)-(x2, y2), 15
LINE (x2, y2)-(x3, y3), 15
LINE (x3, y3)-(x4, y4), 15
LINE (x4, y4)-(x1, y1), 15

LINE (x1, y1 + vv)-(x2, y2 + vv), 15
LINE (x2, y2 + vv)-(x3, y3 + vv), 15
LINE (x3, y3 + vv)-(x4, y4 + vv), 15
LINE (x4, y4 + vv)-(x1, y1 + vv), 15

LINE (x1, y1)-(x1, y1 + vv), 15
LINE (x2, y2)-(x2, y2 + vv), 15
LINE (x3, y3)-(x3, y3 + vv), 15
LINE (x4, y4)-(x4, y4 + vv), 15
RETURN

[ RETURN TO DIRECTORY ]