home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1979-12-31 | 6.6 KB | 219 lines
20 CLS:KEY OFF 30 LOCATE 10,3 35 PRINT " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%":PRINT 40 PRINT " CLOSE<0xB6!> NOTDEFINT SOUND<UNK! {00FA}> LOCATERANDOMIZE NOTBLOAD WHILESAVE STEP<0xB5!> THENCALL ! ":PRINT 45 PRINT " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%":PRINT 50 FOR I=0 TO 2000:FUJIM=I:NEXT I:CLS:LOCATE 8,1 60 PRINT " @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ " 70 PRINT " @ @ " 80 PRINT " @ STEPSTRING$<0xB4!><UNK! {00FA}>CLOSEDEFDBL<0xB5!>=SOUNDERLOPTIONRESUMESTRING$<UNK! {00FA}><0xB6!><UNK! {00F9}>COLORPSETERROR<0xB6!>STEPSTEP<0xB5!>THENCALL @ " 100 PRINT " @ <0xB5!>VARPTR2LINE> @ " 120 PRINT " @ TAB(<UNK! {00F7}>LINEWENDMERGECLOSETHENRESUME<0xB4!>MODFNERRORLOADPSET<0xCB!><0xE3!>CLOSE<UNK! {00FA}>STEP<0xB5!> @ " 130 PRINT " @ TAB(<UNK! {00F7}>LINEWENDSPC(MERGECOLORPSET<0xB4!>MODFNERROR<0xB5!>VARPTRSPC(CLOSEOPTIONMERGELOCATE\SPC(MERGEERLOPEN<0xB6!><UNK! {00F9}>COLORPSET @ " 140 PRINT " @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ":PRINT 145 FOR I=0 TO 2000:NEXT I:FUJIM=I:CLS:LOCATE 10,1 150 INPUT " MERGEEQVTO/LOCATEPRESETLOADOPTIONOPENBEEP(**.**.**)";DAY$:PRINT:CLS:LOCATE 10,1 155 PRINT " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%":PRINT 160 PRINT " 1=ERROR<0xB6!>STEPSTRING$TAB(MOTORPSET 2=WEND+FNDEFDBL ":PRINT 165 PRINT " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%":PRINT 170 INPUT " FNELSEERLEQVPSET<0xE4!>STRING$USRSTRING$DEFSNGSPC(CLOSE,LINE<0xB4!>PSET<0xE4!>WHILE<0xE0!>OPENBEEP,SCREENCLOSEOPENMODLINE<0xB4!> RETURN LOAD<UNK! {00FC}>";GN 180 CLS 190 IF GN=2 THEN 1585 200 IF GN=1 THEN 230 210 LOCATE 7,15 220 PRINT "WHILE<0xE0!>OPENBEEP<0xB4!>^,PRESET*STRING$INSTRUSRBSAVELOCATE<0xE4!>SCREEN*":PRINT:GOTO 155 230 LOCATE 5,10 320 GOTO 400 330 PRINT"*****************************************************" 340 PRINT " 1=OPEN\TAB(<UNK! {00FC}>USINGNOTSTEP<0xB5!>THENCALL 2=USRBSAVEKEY<UNK! {00FA}><0xB6!><UNK! {00F9}>USINGNOTSTEP<0xB5!>THENCALL " 350 PRINT " 3=FNAUTOSPC(OPENUSINGNOTSTEP<0xB5!>THENCALL 4=USRSOUNDFNAUTORANDOMIZEPOINTUSINGNOTSTEP<0xB5!>THENCALL " 360 PRINT " 5=KEYEQVSAVEDEFINTUSINGNOTSTEP<0xB5!>THENCALL 6=BLOADVARPTRSOUNDIMPUSINGNOTSTEP<0xB5!>THENCALL " 370 PRINT " 7=STEP<UNK! {00FB}>CLOSEDEFDBLUSINGNOTSTEP<0xB5!>THENCALL 8=THEN<0xCB!>CALL<UNK! {00F6}>STEP<0xB5!>THENCALL " 380 PRINT " ******************************************************" 390 RETURN 400 GOSUB 330 410 INPUT " SOUND<UNK! {00FA}>STRING$AUTO<0xB5!>CLSNOTEDITOPTIONBLOADMERGE<UNK! {00F8}>SCREEN*SOUNDSOUNDSPC(CLOSEOPTION<UNK! {00F6}>USINGNOTSTEP<0xB5!>THENCALLBSAVEXOR(Y/N)";J$ 420 IF J$="N" THEN GOTO 520 ELSE IF J$<>"Y" AND J$<>"N" THEN 410 430 INPUT " USINGNOTSTEP<0xB5!>THENCALLOPENBEEPLOCATEPRESETLOADOPTION";HX:PRINT 431 IF HX<>1 AND HX<>2 AND HX<>3 AND HX<>4 AND HX<>5 AND HX<>6 AND HX<>7 AND HX<>8 THEN 430 432 IF HX=8 THEN END 433 IF HX <> 7 THEN 436 434 INPUT"STEP<0xB5!>THENCALLSOUNDCOLORPRESETLINELOCATEPRESETWRITEEQV<0xB4!>EDITNOTVARPTR DS2USING<0xB4!>TODEFSTR ? (y/n) ";S$:IF S$="y" THEN 437 435 IF HX=7 THEN PRINT"PRESET*LINE<0xB4!>STEPBSAVESCREEN<UNK! {FDB2}>MERGEWEND'USING<UNK! {00F7}> : ":PRINT"(1)LOAD<UNK! {00FC}>SCREEN*:system":PRINT"(2)LOAD<UNK! {00FC}>SCREEN* DS2 ":PRINT"(3)WEND<0xE5!>SCREEN*2OPENBEEPBEEPTO ,LOAD<UNK! {00FC}>SCREEN* run XH": END 436 IF HX=1 OR HX=2 OR HX=5 THEN 439 437 PRINT "PRESET*WEND<0xE5!>SCREEN*2OPENBEEPBEEPTO , SCREENCLOSEOPENMODLINE<0xB4!>SCREENTAB(SPC(<0xE2!>LOAD<UNK! {00FC}>" 438 A$=INKEY$:IF A$="" THEN 438 439 CLS 440 IF HX=1 THEN GOTO 590 450 IF HX=5 THEN GOTO 620 460 IF HX=7 THEN 677 470 IF HX=4 THEN 671 480 IF HX=3 THEN 675 490 IF HX=6 THEN 673 500 IF HX=2 THEN 650 510 IF HX=8 THEN END 520 CLS:DIM SN$(34),A1$(4),B1$(4),MARK%(34),S%(34) 530 REM SUB 0 FIRST IMPRESION COMPLAIN 540 GOSUB 1320 550 I1=0:I2=N1:I3=9:E$="PSET<0xE4!><0xCB!><UNK! {00FC}>":T$="------- STRING$<UNK! {00F7}><0xCB!><0xDF!> (I)--------" 555 I=I1-1 560 GOSUB 1090:REM SUB 0.3 562 I1=0:I3=N1:E$="PSET<0xE4!><0xCB!><UNK! {00FC}>":T$="" 564 GOSUB 1090 570 I1=N1:I2=N2+N1-1:I3=28:E$="PSET<0xE4!><0xCB!><UNK! {00FC}>":T$="*********STRING$<UNK! {00F7}> <0xCB!><0xDF!>*******" 571 I=I1-1 580 GOSUB 1090:REM SUB 0.3 581 I1=N1:I2=N2+N1-1:I3=I2:E$="PSET<0xE4!><0xCB!><UNK! {00FC}>":T$="" 582 GOSUB 1090 585 PRINT "BLOADCLOSENOTUSRBLOAD<UNK! {00F7}>STEPERLSTRING$TRONUSING<0xB4!>,TAB(INKEY$WRITERESUMEBEEPUSR<0xB6!>STEP!" 586 END 590 REM HX 600 PRINT"USINGAUTOSTEPIMPOPEN\TAB(<UNK! {00FC}>USINGNOTSTEP<0xB5!>THENCALL":COMMON DAY$ 610 CHAIN "HX.BAS",10,ALL 620 REM JJ 630 PRINT"USINGAUTOSTEPIMPKEYEQVSAVEDEFINTUSINGNOTSTEP<0xB5!>THENCALL":COMMON DAY$ 640 CHAIN "SJ.BAS",10,ALL 650 REM NB 660 PRINT"USINGAUTOSTEPIMPUSRBSAVEKEY<UNK! {00FA}><0xB6!><UNK! {00F9}>USINGNOTSTEP<0xB5!>THENCALL":COMMON DAY$ 670 CHAIN "XSE.BAS",10,ALL 671 PRINT"USINGAUTOSTEPIMPUSRSOUNDFNAUTORANDOMIZEPOINTUSINGNOTSTEP<0xB5!>THENCALL":COMMON DAY$ 672 CHAIN "XXG.BAS",5,ALL 673 PRINT"USINGAUTOSTEPIMPBLOADVARPTRSOUNDIMPUSINGNOTSTEP<0xB5!>THENCALL":COMMON DAY$ 674 CHAIN "MN.BAS",10,ALL 675 PRINT "USINGAUTOSTEPIMPFNAUTOSPC(OPENUSINGNOTSTEP<0xB5!>THENCALL":COMMON DAY$ 676 CHAIN "XY.BAS",10,ALL 677 PRINT "USINGAUTOSTEPIMPSTEP<UNK! {00FB}>CLOSEDEFDBLUSINGNOTSTEP<0xB5!>THENCALL":COMMON DAY$ :CHAIN "GWBASIC.EXE" 678 CHAIN "XH.BAS",10,ALL 680 REM SUB 0.1 OUTPUT MENU 690 H$=" ": 700 J1=0:J2=0:K1=-1:K2=-1 710 IF J1<=K1 THEN PRINT " ";A1$(J1);LEFT$(H$,30-LEN(A1$(J1))),:GOTO 780 720 IF I<I3 THEN 750 730 IF J2<=K2 THEN PRINT " ",:GOTO 790 740 GOTO 870 750 GOSUB 930:IF I>I3 THEN 730 760 IF (I-I1)<10 THEN PRINT " "; 770 J1=0:PRINT I-I1;"=";A1$(J1);LEFT$(H$,30-LEN(A1$(J1))), 780 J1=J1+1 790 IF J2<=K2 THEN PRINT " ";B1$(J2):GOTO 860 800 IF I<I3 THEN 830 810 IF J1<=K1 THEN PRINT:GOTO 710 820 GOTO 870 830 GOSUB 1010:IF I>I3 THEN 810 840 IF (I-I1)<10 THEN PRINT " "; 850 J2=0:PRINT I-I1;"=";B1$(J2) 860 J2=J2+1:GOTO 710 870 IF (I3-I1+1)<10 THEN PRINT " "; 880 PRINT I2-I1+1;"=";E$ 890 PRINT "SOUND<UNK! {00FA}>NOTUSRSOUNDSOUNDSPC(CLOSEOPTION<UNK! {00F6}>?" 900 PRINT "FNELSEERLEQVPSET<0xE4!>STRING$USRSTRING$DEFSNGSPC(CLOSE,LINE<0xB4!>PSET<0xE4!>WHILE<0xE0!>OPENBEEP,SCREENCLOSEOPENMODERL'LINE<0xB4!> RETURN LOAD<UNK! {00FC}>!" 910 INPUT X:X=X+I1 920 RETURN 930 REM SUB 0.1.0. 940 I=I+1:IF I>I2 THEN 1000 950 IF MARK%(I)=1 THEN 940 960 K1=0 970 A1$(K1)=MID$(SN$(I),K1*30+1,30) 980 IF A1$(K1)<>"" THEN K1=K1+1:GOTO 970 990 K1=K1-1 1000 RETURN 1010 REM SUB 0.1.1. 1020 I=I+1:IF I>I2 THEN 1080 1030 IF MARK%(I)=1 THEN 1020 1040 K2=0 1050 B1$(K2)=MID$(SN$(I),30*K2+1,30):IF B1$(K2)="" THEN 1070 1060 K2=K2+1:GOTO 1050 1070 K2=K2-1 1080 RETURN 1090 REM SUB 0.3 1100 PRINT " ";T$ 1110 GOSUB 680 1120 GOTO 1150 1130 INPUT "CLOSERANDOMIZENOTUSRBSAVEXOR(Y/N)";S$ 1140 IF S$="Y" THEN 1090 1150 REM ASK SY. 1160 IF MID$(T$,1,1)="-" AND X=19 THEN 562 ELSE IF T$="" AND X=19 THEN 570 ELSE IF MID$(T$,1,1)="*" AND X=17+N1 THEN 581 1165 CLS 1170 ERASE SN$,A1$,B1$,MARK%,S% 1180 IF X<>2 AND X<>20 AND X<>28 AND X<>23 THEN 1250 1190 INPUT "=C";TEMP 1200 IF TEMP<=37 THEN END 1210 IF X=2 THEN GOTO 590 1220 IF X=20 THEN GOTO 620 1230 IF X=28 THEN HX=4:GOTO 433 1240 IF X=23 THEN HX=3:GOTO 433 1250 IF X=0 OR X=1 OR X=18 OR X=3 OR X=19 THEN GOTO 590 1260 IF X=4 OR X=6 OR X=7 OR X=21 OR X=5 THEN GOTO 620 1270 IF X=8 OR X=9 THEN HX=3:GOTO 433 1280 IF X=10 OR X=24 OR X=25 OR X=11 OR X=26 THEN HX=6:GOTO 433 1290 IF X=27 OR X=12 OR X=15 OR X=14 OR X=29 OR X=30 OR X=13 THEN HX=4:GOTO 433 1300 IF X=16 OR X=31 OR X=32 OR X=33 OR X=17 OR X=34 THEN HX=7:GOTO 433 1310 IF X=36 THEN PRINT "WENDCLOSESOUNDPOINTSAVE<UNK! {00F6}><0xB6!>RESUME!" 1313 PRINT "BLOADCLOSENOTUSRBLOAD<UNK! {00F7}>STEPERLSTRING$TRONUSING<0xB4!>,TAB(INKEY$WRITERESUMEBEEPUSR<0xB6!>STEP!" 1318 END 1320 READ N1,N2:DATA 18,17 1330 FOR I=0 TO 34:READ SN$(I):NEXT I 1340 DATA "COLORSCREEN<0xCB!>ERLOPENTHENWHILEPRESETSCREEN<UNK! {00FB}>BEEP=TO=","FNLOCATETHEN<0xB4!>","OPEN\TAB(<UNK! {00FC}>CLSERRORSOUNDFN" 1350 DATA "KEY<UNK! {00F9}>FNPSETSCREENDEFSNGCOLORSCREEN","CALL+WRITE=","LOCATESCREEN<0xCB!>DEFDBLCLOSE<BLOADERL" 1360 DATA "CALLERR<0xB4!>\CLOSEIMPSTRING$PRESETMOTOREDIT<0xB5!>THEN","TAB(<<0xB5!>OPTIONCLOSEIMPERRXORWEND<UNK! {00FC}>LOCATEERRORBLOAD<UNK! {00F7}>CLOSEIMPLOCATEERRORNOTOR","USINGSTEP<0xB5!>AND" 1370 DATA "PSETSWAPWRITE\ERRCALLSOUNDSWAPWENDERLLINEUSING","OPTIONELSESTRING$USING","SOUNDIMPKEY'CLOSEIMPTAB(INKEY$SOUNDIMP" 1380 DATA "USRSOUNDCLOSEBEEPPSET<UNK! {00F8}><0xB6!>TOLINE+COLORSCREEN<0xCB!>ERLCLOSEIMPWRITETRON=SWAP","USRSOUNDCLOSEBEEP","COLORINKEY$SOUNDSTRING$CLOSEIMPCOLORSCREEN<0xCB!>ERLOPENMODWRITETRON=SWAP" 1390 DATA "<0xB6!>USINGSAVE<0xE0!>","OPTIONRANDOMIZEUSRRANDOMIZECLOSEIMPWHILE<0xE3!>STEPELSE","<0xB6!>EQVUSRSOUNDTHENBSAVE" 1400 DATA "STEP<UNK! {00F8}><0xB4!>DEFINT","USRINSTRTHEN<0xB4!>","THENWRITETHEN<0xB4!>WENDTRONBEEPCLOSETHENBSAVE" 1410 DATA "TOWHILECLOSESAVE","SAVERENUMKEYEQVLOCATEERRORCALLTROFF","CALL<UNK! {00F6}>FNAUTOOPENTHENOPTIONTAB(PSETTRONMOTORPOINTLINETHENMERGE<0xE1!><0xB4!>MOD" 1420 DATA "FNAUTOSOUNDIMP","SOUNDIMPPSET<0xB5!>SOUNDIMPLOADWHILESOUNDIMPTHEN<0xB4!>","SOUNDIMPCLOSEDEFDBLFN+NOTUSRSPC(/CALLTROFF" 1430 DATA "WRITETRONNOT<UNK! {FDC2}><0xE4!>OPENMODLINE+WRITETRON=SWAPCLOSEIMPPSET<UNK! {00F8}><0xB6!>TO","USRSOUNDCLOSEBEEPPSET<UNK! {00F8}><0xB6!>TOWENDTRONWRITETRONSTEPSTRING$WENDELSECLS^USRERLUSRSOUNDERL<0xE0!>ERLNOTSPC(\" 1440 DATA "WENDERLLINEUSINGLINE+USRSOUNDCLOSEBEEP","USRINSTRBLOADPSETWENDCLOSELOCATELOCATE","LOCATECALLNOT<UNK! {00FB}>WENDCLOSEERREQV" 1450 DATA "OPTIONRANDOMIZETHEN<0xB4!>","<0xB4!>MODWHILE<0xE3!><0xB4!><UNK! {00F8}>BEEPERRORFNAUTO","OPTIONTAB(PRESET<UNK! {00F8}>THEN<0xB4!>" 1460 RETURN 1585 CLS:PRINT "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" 1590 PRINT " WHILESAVESTEP<0xB5!>THENCALLCOLORKEY<0xB6!>ERLSPC(ERLSTEPBSAVETAB(LOCATETO<0xE2!>MERGE<UNK! {00F8}>USRUSRUSINGKEYFNDEFDBL." 1600 PRINT " 1.ERR<UNK! {00FB}>OPTION<UNK! {00F6}>STEP<0xB5!>THENCALLLINE<UNK! {00FC}>CLSRESUMESOUNDSOUNDLOADOPTIONOPTION<UNK! {00F6}>STEP<0xB5!>THENCALL" 1610 PRINT " 2.SOUNDCALLOPTION<UNK! {00F6}>USINGNOTSTEP<0xB5!>THENCALLLINE<UNK! {00FC}>OPENDEFSTRSOUNDSOUNDUSRDELETEWENDELSESTRING$STRING$" 1620 PRINT " 3.SOUNDCALLOPTION<UNK! {00F6}>USINGNOTSTEP<0xB5!>THENCALL<0xB5!>SOUNDSOUNDCALLOPTION<UNK! {00F6}>WENDELSENOTEDITOPTIONBLOADNOTUSRLOCATEWENDBLOAD<0xB4!>STRING$TRONUSING<0xB4!>OPENTHENWHILE^STEPSTRING$" 1625 PRINT "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" 1630 INPUT "FNELSEERLEQVPSET<0xE4!>STRING$USRSTRING$DEFSNGSPC(CLOSE,LINE<0xB4!>PSET<0xE4!>WHILE<0xE0!>OPENBEEP,SCREENCLOSEOPENMODERL'LINE<0xB4!>RETURNLOAD<UNK! {00FC}>.";NM:CLS 1640 ON NM GOSUB 1690,3000,3130 1645 IF NM<>1 THEN ERASE C$ 1650 PRINT:PRINT:INPUT "CLOSERANDOMIZESPC(AUTOTAB(LOCATEBSAVEXOR[Y/N]";ZH$:CLS 1660 IF ZH$="Y" THEN 1585 1670 IF ZH$="N" THEN 155 1680 GOTO 1650 1690 REM 1 1700 PRINT "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" 1710 PRINT " 1.OPEN\TAB(<UNK! {00FC}>USINGNOTSTEP<0xB5!>THENCALL 2.KEYEQVSAVEDEFINTUSINGNOTSTEP<0xB5!>THENCALL" 1720 PRINT " 3.USRBSAVEKEY<UNK! {00FA}><0xB6!><UNK! {00F9}>USINGNOTSTEP<0xB5!>THENCALL 4.USRSOUNDFNAUTORANDOMIZEPOINTUSINGNOTSTEP<0xB5!>THENCALL" 1730 PRINT " 5.FNAUTOSPC(OPENUSINGNOTSTEP<0xB5!>THENCALL 6.BLOADVARPTRSOUNDIMPUSINGNOTSTEP<0xB5!>THENCALL" 1740 PRINT " 7.STEP<UNK! {00FB}>CLOSEDEFDBLUSINGNOTSTEP<0xB5!>THENCALL" 1750 PRINT "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" 1760 RETURN 3000 REM ERR<UNK! {00FB}>OPTION<UNK! {00F6}>STEP<0xB5!>THENCALLLINE<UNK! {00FC}>OPENDEFSTRSOUNDSOUNDLOADOPTIONOPTION<UNK! {00F6}>USINGNOTSTEP<0xB5!>THENCALL 3010 GOSUB 1690 3020 INPUT "USINGNOTSTEP<0xB5!>THENCALLOPENBEEP";I$:CLS 3030 OPEN "I",#1,I$ 3040 INPUT# 1,N 3045 DIM C$(N) 3060 FOR J=1 TO N 3070 INPUT# 1,A$ 3080 C$(J)=A$ 3090 PRINT J;A$, 3100 NEXT J 3110 CLOSE 3120 RETURN 3130 REM 3 3140 GOSUB 3000 3150 PRINT:INPUT "PRESET*LOCATE<0xE4!>SCREEN*USINGNOTSTEP<0xB5!>THENCALLLOADWENDWENDELSEOPENBEEP";B$:CLS 3160 OPEN "I",#1,I$+B$ 3170 INPUT# 1,M 3180 FOR J=1 TO M 3190 INPUT# 1,A$ 3200 PRINT A$ 3210 NEXT J 3220 CLOSE 3222 PRINT:PRINT:INPUT "CLOSERANDOMIZENOTUSRBSAVEXOR[Y/N]";S$:CLS 3224 IF S$<>"Y" THEN 3228 3225 FOR J=1 TO N:PRINT J;C$(J),:NEXT J:PRINT 3226 GOTO 3150 3228 IF S$<>"N" THEN 3222 3230 RETURN