10
20 IFINKEY$-256="W":PROCfred:PROCjim(0):PROCsheila(0):PROChazel(0,0)
30 IFINKEY$-256="W":PROCroger(0,0):PROCsophie(0,0):PROCrichard(0,0)
40 A%=^PROCfred:A%=^PROCjim():A%=^PROCsheila():A%=^PROChazel()
50 A%=^PROCroger():A%=^PROCsophie():A%=^PROCrichard()
60 :
70 *pointer 1
80 PRINTSPC10;:FOR A%=0 TO 24:PRINTFNh0(A%,1);" ";:NEXT:PRINT
90 IFINKEY$-256="W":st%=!^PROCfred AND-16 ELSE st%=!(^PROCfred+4)AND-16
100 IFINKEY$-256="W":en%=!^PROCrichard()+24 ELSE en%=^PROCrichard()+24
110 add%=st%:REPEAT
120 PRINT FNh0(add%,8);" ";:FOR a%=add% TO add%+23:PRINT FNh0(?a%,2);" ";:NEXT:PRINT
130 PRINT SPC9; :FOR a%=add% TO add%+23:PRINT" ";FNc(?a%);" ";:NEXT:PRINT
140 add%=add%+24:UNTIL add%>=en%
150 PRINT"^PROCfred =&";~^PROCfred ;" ^PROCjim() =&";~^PROCjim() ;
160 PRINT" ^PROCsheila() =&";~^PROCsheila();" ^PROChazel() =&";~^PROChazel()
170 PRINT"^PROCroger()=&";~^PROCroger();" ^PROCsophie()=&";~^PROCsophie();
180 PRINT" ^PROCrichard()=&";~^PROCrichard()
190 END
200 DEFFNh0(A%,N%)=RIGHT$("0000000"+STR$~A%,N%)
210 DEFFNc(A%):A%=A%AND127:IF A%=127 OR A%<32:="." ELSE =CHR$ A%
220 :
230 DEFPROCfred:ENDPROC
240 DEFPROCjim(A%):ENDPROC
250 DEFPROCsheila(A% \ comment
260 \ )
270 ENDPROC
280 DEFPROChazel(A%, \ comment
290 \ B%)
300 ENDPROC
310 DEFPROCroger(A% \ comment
320 \ ,B%)
330 ENDPROC
340 DEFPROCsophie(A%, \ comment
350 \ B% \ comment
360 \ )
370 ENDPROC
380 DEFPROCrichard(A% \ comment
390 \ ,B% \ comment
400 \ )
410 ENDPROC
420
430 DEFPROC15
440 PROCrend(pdev%, \ pointer to Direct3D device
450 \ nobj%, \ number of objects
460 \ y, \ yaw angle
470 \ p, \ pitch angle
480 \ r) \ roll angle
490 \
500 ENDPROC
510 :
520 DEFPROCrend(pd%,no%,y,pi,rl)
530 ENDPROC