dim x(16): dim y(16): dim z(16): dim w(16): dim lx(16): dim ly(16): dim rx(16): dim ry(16): dim l(100) zscreen=200 xscreen=500 yscreen=500 zeye=-60 clear screen l(1)=1 l(2)=2 l(3)=1 l(4)=4 l(5)=1 l(6)=5 l(7)=1 l(8)=9 l(9)=6 l(10)=5 l(11)=6 l(12)=2 l(13)=6 l(14)=7 l(15)=6 l(16)=14 l(17)=3 l(18)=2 l(19)=3 l(20)=7 l(21)=3 l(22)=4 l(23)=3 l(24)=11 l(25)=8 l(26)=5 l(27)=8 l(28)=4 l(29)=8 l(30)=7 l(31)=8 l(32)=16 l(33)=2 l(34)=10 l(35)=5 l(36)=13 l(37)=7 l(38)=15 l(39)=4 l(40)=12 l(41)=9 l(42)=13 l(43)=9 l(44)=12 l(45)=9 l(46)=10 l(47)=14 l(48)=10 l(49)=14 l(50)=15 l(51)=14 l(52)=13 l(53)=11 l(54)=12 l(55)=11 l(56)=15 l(57)=11 l(58)=10 l(59)=16 l(60)=13 l(61)=16 l(62)=12 l(63)=16 l(64)=15 x(1)=-10 y(1)=10 z(1)=-10 w(1)=-10 x(2)=10 y(2)=10 z(2)=-10 w(2)=-10 x(3)=10 y(3)=-10 z(3)=-10 w(3)=-10 x(4)=-10 y(4)=-10 z(4)=-10 w(4)=-10 x(5)=-10 y(5)=10 z(5)=10 w(5)=-10 x(6)=10 y(6)=10 z(6)=10 w(6)=-10 x(7)=10 y(7)=-10 z(7)=10 w(7)=-10 x(8)=-10 y(8)=-10 z(8)=10 w(8)=-10 x(9)=-10 y(9)=10 z(9)=-10 w(9)=10 x(10)=10 y(10)=10 z(10)=-10 w(10)=10 x(11)=10 y(11)=-10 z(11)=-10 w(11)=10 x(12)=-10 y(12)=-10 z(12)=-10 w(12)=10 x(13)=-10 y(13)=10 z(13)=10 w(13)=10 x(14)=10 y(14)=10 z(14)=10 w(14)=10 x(15)=10 y(15)=-10 z(15)=10 w(15)=10 x(16)=-10 y(16)=-10 z(16)=10 w(16)=10 10 open window xscreen,yscreen 20 clear screen for n=1 to 16 lx(n)=int((x(n)+5)*zscreen/(z(n)-zeye)+xscreen/2-100) ly(n)=int(-(y(n)-yeye)*zscreen/(z(n)-zeye)+yscreen/2) rx(n)=int((x(n)-5)*zscreen/(z(n)-zeye)+xscreen/2+100) ry(n)=int(-(y(n)-yeye)*zscreen/(z(n)-zeye)+yscreen/2) next n clear window for n=1 to 63 step 2 line lx(l(n)),ly(l(n)) to lx(l(n+1)),ly(l(n+1)) line rx(l(n)),ry(l(n)) to rx(l(n+1)),ry(l(n+1)) next n wait .02 a$=inkey$ rem if a$="/" then for n=1 to 16 r=sqrt(w(n)^2+z(n)^2) if z(n)>=0 angle=acos(w(n)/r) if z(n)<0 angle=acos(-w(n)/r)+pi angle=angle+.01*pi w(n)=cos(angle)*r z(n)=sin(angle)*r next n elsif a$="*" then for n=1 to 16 r=sqrt(w(n)^2+z(n)^2) if z(n)>=0 angle=acos(w(n)/r) if z(n)<0 angle=acos(-w(n)/r)+pi angle=angle-.01*pi w(n)=cos(angle)*r z(n)=sin(angle)*r next n elsif a$="-" then for n=1 to 16 r=sqrt(x(n)^2+y(n)^2) if y(n)>=0 angle=acos(x(n)/r) if y(n)<0 angle=acos(-x(n)/r)+pi angle=angle+.01*pi x(n)=cos(angle)*r y(n)=sin(angle)*r next n elsif a$="+" then for n=1 to 16 r=sqrt(x(n)^2+y(n)^2) if y(n)>=0 angle=acos(x(n)/r) if y(n)<0 angle=acos(-x(n)/r)+pi angle=angle-.01*pi x(n)=cos(angle)*r y(n)=sin(angle)*r next n elsif a$="left" then for n=1 to 16 r=sqrt(x(n)^2+z(n)^2) if z(n)>=0 angle=acos(x(n)/r) if z(n)<0 angle=acos(-x(n)/r)+pi angle=angle-.01*pi x(n)=cos(angle)*r z(n)=sin(angle)*r next n elsif a$="right" then for n=1 to 16 r=sqrt(x(n)^2+z(n)^2) if z(n)>=0 angle=acos(x(n)/r) if z(n)<0 angle=acos(-x(n)/r)+pi angle=angle+.01*pi x(n)=cos(angle)*r z(n)=sin(angle)*r next n elsif a$="up" then for n=1 to 16 r=sqrt(y(n)^2+z(n)^2) if y(n)>=0 angle=acos(z(n)/r) if y(n)<0 angle=acos(-z(n)/r)+pi angle=angle-.01*pi z(n)=cos(angle)*r y(n)=sin(angle)*r next n elsif a$="down" then for n=1 to 16 r=sqrt(y(n)^2+z(n)^2) if y(n)>=0 angle=acos(z(n)/r) if y(n)<0 angle=acos(-z(n)/r)+pi angle=angle+.01*pi z(n)=cos(angle)*r y(n)=sin(angle)*r next n elsif a$="4" then for n=1 to 16 r=sqrt(x(n)^2+w(n)^2) if w(n)>=0 angle=acos(x(n)/r) if w(n)<0 angle=acos(-x(n)/r)+pi angle=angle-.01*pi x(n)=cos(angle)*r w(n)=sin(angle)*r next n elsif a$="6" then for n=1 to 16 r=sqrt(x(n)^2+w(n)^2) if w(n)>=0 angle=acos(x(n)/r) if w(n)<0 angle=acos(-x(n)/r)+pi angle=angle+.01*pi x(n)=cos(angle)*r w(n)=sin(angle)*r next n elsif a$="8" then for n=1 to 16 r=sqrt(y(n)^2+w(n)^2) if y(n)>=0 angle=acos(w(n)/r) if y(n)<0 angle=acos(-w(n)/r)+pi angle=angle-.01*pi w(n)=cos(angle)*r y(n)=sin(angle)*r next n elsif a$="2" then for n=1 to 16 r=sqrt(y(n)^2+w(n)^2) if y(n)>=0 angle=acos(w(n)/r) if y(n)<0 angle=acos(-w(n)/r)+pi angle=angle+.01*pi w(n)=cos(angle)*r y(n)=sin(angle)*r next n elsif a$="q" then goto 30 fi goto 20 30 close window