REM"************************" REM"* *" REM"* TREKKER DEMO *" REM"* *" REM"* PROGRAM *" REM"* *" REM"*copyright- A.Whittaker*" REM"* *" REM"*waived for all CLWYD*" REM"* *" REM"* schools. *" REM"* *" REM"* *" REM"* *" REM"************************" REM ON ERROR ?&FE60=0:GOTO 30000 ?&FE62=15:?&FE60=0 ?&FE6B=&10:?&FE6A=&0:?&FE68=&0 PROCsound *FX4 1 *K.10OLD|MRUN|M *********************************** MODE7:VDU23;8202;0;0;0; A%=30:REM ANGLE TRIM M%=200:REM DISTANCE TRIM P%=100:REM PAUSE AFTER MOVING B=14 PROCprogmode:CLS PROCinst CLS FOR I=53TO101 STEP2:SOUND1,-I/7,I,1:NEXT SOUND1,-15,101,10:SOUND1,-15,117,10:SOUND1,-15,129,10::SOUND1,-15,149,20 PRINT:PRINT PRINT CHR$(129);CHR$(157);TAB(2)CHR$(135);CHR$(141);" TREKKER IS HERE NOW !!" PRINT CHR$(129);CHR$(157);TAB(2)CHR$(135);CHR$(141);" TREKKER IS HERE NOW !!" FOR L=1TO1000:NEXT PRINT''' PRINT"The Trekker System includes a general" PRINT PRINT"purpose robot. Trekker is connected to" PRINT PRINT"the User port of this computer." FOR L=1TO1000:NEXT PRINT PRINT PRINT"In the present mode Trekker is totally" PRINT PRINT"controlled by the computer." PRINT ?&FE62=15:?&FE60=0:REM DDR 4 BITS OUT, FOUR BITS IN FOR I=1TO1000:NEXT:*FX15 1 PRINT:PRINT:PRINT PRINT CHR$(131);CHR$(157);CHR$(132);"PressSPACEBARto seeTREKKERmove " REPEAT UNTIL GET=32 CLS PRINT TAB(10,10);CHR$141;"R e a d y !" PRINT TAB(10,11);CHR$141;"R e a d y !" FOR L=5TO0STEP-1 PRINT TAB(13,13);CHR$141;"0 ";L PRINT TAB(13,14);CHR$141;"0 ";L SOUND1,-15,200,1:IF L=0SOUND1,-15,200,6 FOR K=0TO2000:NEXT NEXT CLS FOR L=0TO1900:NEXT PRINT TAB(10,1);CHR$(141)"WATCH TREKKER !" PRINT TAB(10,2);CHR$(141)"WATCH TREKKER !" PRINT TAB(13,4);" " PRINT TAB(13,5);" " PRINT TAB(0,14);"";CHR$(157) PRINT TAB(0,15);"";CHR$(157);CHR$141 PRINT TAB(0,16);"";CHR$(157);CHR$141 PRINT TAB(0,17);"";CHR$(157) FOR L=200TO100STEP-2:SOUND1,-15,L,1:SOUND2,-15,L,1:NEXT:SOUND0,-15,6,30 PROCWIGGLE PROCSTOP PROCMOVE PROCSTOP PROCWIGGLE PROCSTOP PROCBACK PROCSTOP PROCrest ?&FE60=0 GOTO 30010 DEF PROCWIGGLE PRINT TAB(B,15);CHR$(132);"WIGGLE " PRINT TAB(B,16);CHR$(132);"WIGGLE " REM WIGGLE MOVE FORWARD WIGGLE MOVE BACK PROCs ?&FE60=0:now=TIME:REPEAT UNTIL TIME>now+5 ?&FE60=14 ?&FE60=0:TIME=0:REPEAT UNTIL TIME>25 FOR I=1TO4 ?&FE60=7 TIME=0:REPEAT UNTIL TIME>25 ?&FE60=0:FOR J=1TOP%:NEXT:REM PAUSE ?&FE60=14 TIME=0:REPEAT UNTIL TIME>25 ?&FE60=0:FOR J=1TOP%:NEXT:REM PAUSE NEXT I ?&FE60=0:now=TIME:REPEAT UNTIL TIME>now+5 ENDPROC DEF PROCMOVE PROCs ?&FE60=6 PRINT TAB(B,15);"FORWARD " PRINT TAB(B,16);"FORWARD " TIME=0:REPEAT UNTIL TIME>150 ENDPROC DEF PROCBACK PROCs PRINT TAB(B-2,15)CHR$(132);"BACKWARDS " PRINT TAB(B-2,16)CHR$(132);"BACKWARDS " ?&FE60=15 TIME=0:REPEAT UNTIL TIME>150 ?&FE60=0:FOR J=1TOP%:NEXT ENDPROC DEF PROChorn PROCs PRINT TAB(B-2,15)CHR$(132);" HORN " PRINT TAB(B-2,16)CHR$(132);" HORN " ?&FE6A=5:REPEAT:?&FE68=&40:A=INKEY(50):?&FE68=&50:A=INKEY(50):UNTIL TIME>600:?&FE6A=0 ENDPROC DEF PROCleft PROCs PRINT TAB(B-2,15)CHR$(132);" LEFT " PRINT TAB(B-2,16)CHR$(132);" LEFT " ?&FE60=4 T=TIME:REPEAT UNTIL TIME>T+100 ?&FE60=0:ENDPROC DEF PROCright PROCs PRINT TAB(B-2,15)CHR$(132);" RIGHT " PRINT TAB(B-2,16)CHR$(132);" RIGHT " ?&FE60=2 T=TIME:REPEAT UNTIL TIME>T+100 ?&FE60=0:ENDPROC DEF PROCrest:PROChorn:PROCleft:PROCSTOP:PROCright:PROCSTOP:PROCMOVE:PROCSTOP:PROChorn:PROCBACK:PROCs PRINT TAB(B-2,15)CHR$(132);"PIVOT RIGHT" PRINT TAB(B-2,16)CHR$(132);"PIVOT RIGHT" ?&FE60=14 T=TIME:REPEAT UNTIL TIME>T+200 ?&FE60=0 PROCs PRINT TAB(B-2,15)CHR$(132);"PIVOT LEFT " PRINT TAB(B-2,16)CHR$(132);"PIVOT LEFT " ?&FE60=7 T=TIME:REPEAT UNTIL TIME>T+200 ?&FE60=0 PROChorn2 ENDPROC DEF PROChorn2 PRINT TAB(B-2,15)CHR$(132);" HORN " PRINT TAB(B-2,16)CHR$(132);" HORN " PROCs T=TIME ?&FE6A=5:REPEAT ?&FE68=128 A=INKEY(RND(10)) ?&FE68=0 A=INKEY(RND(10)) UNTIL TIME>T+200 ?&FE68=128 A=INKEY(15) ?&FE68=0 ?&FE68=60:FOR F=0 TO100:NEXT:?&FE6A=0 ENDPROC DEF PROCs SOUND1,-15,100,2 ENDPROC DEF PROCprogmode CLS F=9 PRINT TAB(F,10);CHR$132;CHR$157;CHR$135;CHR$141;"PROGRAM MODE ";CHR$156 PRINT TAB(F,11);CHR$132;CHR$157;CHR$135;CHR$141;"PROGRAM MODE ";CHR$156 FOR L=0TO3000:NEXT ENDPROC DEF PROCinst A$=" In this mode Trekker is following" B$=" PRE-PROGRAMMED instructions" FOR L=0TO23 PRINT TAB(0,L);CHR$132;CHR$157; NEXT P=1 PRINT TAB(P,10);CHR$135;CHR$141;A$ PRINT TAB(P,11);CHR$135;CHR$141;A$ PRINT TAB(P,13);CHR$135;CHR$141;B$ PRINT TAB(P,14);CHR$135;CHR$141;B$ FOR L=0TO5000:NEXT:ENDPROC DEF PROCSTOP:PROCs PRINT TAB(B-1,15);CHR$141;" STOP " PRINT TAB(B-1,16);CHR$141;" STOP " ?&FE60=0 TIME=0:REPEAT UNTIL TIME>100 ENDPROC DEF PROCsound VDU22,7,23;8202;0;0;0;:PRINT TAB(0,11);"":PRINT TAB(0,12);"";CHR$141;"DO YOU WANT SOUND (Y/N)?":PRINT TAB(0,13);"";CHR$141;"DO YOU WANT SOUND (Y/N)?":PRINT TAB(0,14);"" REPEAT:*FX202 32 *FX15 1 A$=GET$:UNTIL A$="Y" OR A$="N" IF A$="Y" THEN *FX210 0 IF A$="N" THEN *FX210 1 *FX4 1 ENDPROC DEF PROCdub(X%,Y%,P$):FOR I%=Y%TOY%+1:PRINT TAB(X%,I%);CHR$141;P$:NEXT:ENDPROC MODE7:VDU23;8202;0;0;0; PROCdub(0,1,"Pressf0to LOAD next program") PROCdub(0,4,"PressRETURNto REPEAT") *FX18 *K.0 1|MCH."PROG2"|M *K.10 O.|MRUN|M REPEAT:A$=GET$:REPEAT UNTIL A$=CHR$13ORA$=CHR$49 IF A$=CHR$13CLEAR:RUN FOR L=19TO23:PRINT TAB(0,L);"";:NEXT:VDU28,10,23,30,19 END