diff --git a/dec/AMAZIN.BAS b/dec/AMAZIN.BAS new file mode 100644 index 0000000..4428f10 --- /dev/null +++ b/dec/AMAZIN.BAS @@ -0,0 +1,189 @@ +100 RANDOMIZE +110 DIM W(25,103),V(25,103) +120 PRINT "WHAT ARE YOUR WIDTH AND LENGTH?" +121 INPUT H,V +122 PRINT +130 IF H<>1 THEN 150 +131 IF V<>1 THEN 150 +132 PRINT "MEANINGLESS DIMENSIONS, TRY AGAIN" +140 PRINT +141 GO TO 120 +150 PRINT +151 PRINT +160 LET Q=0 +161 LET Z=0 +162 LET X=INT(RND(0)*H+1) +163 FOR I=1 TO H +170 IF I=X THEN 173 +171 PRINT ":--"; +172 GO TO 180 +173 PRINT ": "; +180 NEXT I +190 PRINT ":" +191 LET C=1 +192 LET W(X,1)=C +193 LET C=C+1 +200 LET R=X +201 LET S=1 +202 GO TO 260 +210 IF R<>H THEN 240 +211 IF S<>V THEN 230 +220 LET R=1 +221 LET S=1 +222 GO TO 250 +230 LET R=1 +231 LET S=S+1 +232 GO TO 250 +240 LET R=R+1 +250 IF W(R,S)=0 THEN 210 +260 IF R-1=0 THEN 530 +261 IF W(R-1,S)<>0 THEN 530 +270 IF S-1=0 THEN 390 +280 IF W(R,S-1)<>0 THEN 390 +290 IF R=H THEN 330 +300 IF W(R+1,S)<>0 THEN 330 +310 LET X=INT(RND(0)*3+1) +320 IF X=1 THEN 790 +321 IF X=2 THEN 820 +323 IF X=3 THEN 860 +330 IF S<>V THEN 340 +331 IF Z=1 THEN 370 +332 LET Q=1 +333 GO TO 350 +340 IF W(R,S+1)<>0 THEN 370 +350 LET X=INT(RND(0)*3+1) +360 IF X=1 THEN 790 +361 IF X=2 THEN 820 +362 IF X=3 THEN 910 +370 LET X=INT(RND(0)*2+1) +380 IF X=1 THEN 790 +381 IF X=2 THEN 820 +390 IF R=H THEN 470 +400 IF W(R+1,S)<>0 THEN 470 +401 IF S<>V THEN 420 +410 IF Z=1 THEN 450 +411 LET Q=1 +412 GO TO 430 +420 IF W(R,S+1)<>0 THEN 450 +430 LET X=INT(RND(0)*3+1) +440 IF X=1 THEN 790 +441 IF X=2 THEN 860 +442 IF X=3 THEN 910 +450 LET X=INT(RND(0)*2+1) +460 IF X=1 THEN 790 +461 IF X=2 THEN 860 +470 IF S<>V THEN 490 +480 IF Z=1 THEN 520 +481 LET Q=1 +482 GO TO 500 +490 IF W(R,S+1)<>0 THEN 520 +500 LET X=INT(RND(0)*2+1) +510 IF X=1 THEN 790 +511 IF X=2 THEN 910 +520 GO TO 790 +530 IF S-1=0 THEN 670 +540 IF W(R,S-1)<>0 THEN 670 +541 IF R=H THEN 610 +542 IF W(R+1,S)<>0 THEN 610 +550 IF S<>V THEN 560 +551 IF Z=1 THEN 590 +552 LET Q=1 +553 GO TO 570 +560 IF W(R,S+1)<>0 THEN 590 +570 LET X=INT(RND(0)*3+1) +580 IF X=1 THEN 820 +581 IF X=2 THEN 860 +582 IF X=3 THEN 910 +590 LET X=INT(RND(0)*2+1) +600 IF X=1 THEN 820 +601 IF X=2 THEN 860 +610 IF S<>V THEN 630 +620 IF Z=1 THEN 660 +621 LET Q=1 +622 GO TO 640 +630 IF W(R,S+1)<>0 THEN 660 +640 LET X=INT(RND(0)*2+1) +650 IF X=1 THEN 820 +651 IF X=2 THEN 910 +660 GO TO 820 +670 IF R=H THEN 740 +680 IF W(R+1,S)<>0 THEN 740 +681 IF S<>V THEN 700 +690 IF Z=1 THEN 730 +691 LET Q=1 +692 GO TO 830 +700 IF W(R,S+1)<>0 THEN 730 +710 LET X=INT(RND(0)*2+1) +720 IF X=1 THEN 860 +721 IF X=2 THEN 910 +730 GO TO 860 +740 IF S<>V THEN 760 +750 IF Z=1 THEN 780 +751 LET Q=1 +752 GO TO 770 +760 IF W(R,S+1)<>0 THEN 780 +770 GO TO 910 +780 GO TO 1000 +790 LET W(R-1,S)=C +800 LET C=C+1 +801 LET V(R-1,S)=2 +802 LET R=R-1 +810 IF C=H*V+1 THEN 1010 +811 LET Q=0 +812 GO TO 260 +820 LET W(R,S-1)=C +830 LET C=C+1 +840 LET V(R,S-1)=1 +841 LET S=S-1 +842 IF C=H*V+1 THEN 1010 +850 LET Q=0 +851 GO TO 260 +860 LET W(R+1,S)=C +870 LET C=C+1 +871 IF V(R,S)=0 THEN 880 +872 LET V(R,S)=3 +873 GO TO 890 +880 LET V(R,S)=2 +890 LET R=R+1 +900 IF C=H*V+1 THEN 1010 +902 GO TO 530 +910 IF Q=1 THEN 960 +920 LET W(R,S+1)=C +921 LET C=C+1 +922 IF V(R,S)=0 THEN 940 +930 LET V(R,S)=3 +931 GO TO 950 +940 LET V(R,S)=1 +950 LET S=S+1 +951 IF C=H*V+1 THEN 1010 +952 GO TO 260 +960 LET Z=1 +970 IF V(R,S)=0 THEN 980 +971 LET V(R,S)=3 +972 LET Q=0 +973 GO TO 1000 +980 LET V(R,S)=1 +981 LET Q=0 +982 LET R=1 +990 LET S=1 +991 GO TO 250 +1000 GO TO 210 +1010 FOR J=1 TO V +1011 PRINT"I"; +1012 FOR I=1 TO H +1013 IF V(I,J)<2 THEN 1030 +1020 PRINT" "; +1021 GO TO 1040 +1030 PRINT" I"; +1040 NEXT I +1041 PRINT +1043 FOR I=1 TO H +1045 IF V(I,J)=0 THEN 1060 +1050 IF V(I,J)=2 THEN 1060 +1051 PRINT": "; +1052 GO TO 1070 +1060 PRINT ":--"; +1070 NEXT I +1071 PRINT":" +1072 NEXT J +1073 END diff --git a/factory/ACEYDU.BAS b/factory/ACEYDU.BAS new file mode 100644 index 0000000..1c23509 --- /dev/null +++ b/factory/ACEYDU.BAS @@ -0,0 +1,50 @@ + 10 REM *** GAME OF ACEY-DUCEY WRITTEN BY BILL PALMBY + 30 REM *** TRANSLATED TO RSTS/E BY DAVE AHL, DIGITAL + 40 REM *** EDUSYSTEM 50 REFACTORING BY RENAUD FIVET + 80 DIM D$(3)\ D$(0)="JACK"\ D$(1)="QUEEN"\ D$(2)="KING"\ D$(3)="ACE" + 90 DEF FNC(C)=INT(13*RND(1))+2 + 100 RANDOMIZE + 101 PRINT "ACEY-DUCEY IS PLAYED IN THE FOLLOWING MANNER:" + 102 PRINT "THE DEALER (COMPUTER) DEALS TWO CARDS FACE UP." + 103 PRINT "YOU HAVE THE OPTION TO BET OR NOT TO BET DEPENDING" + 104 PRINT "ON WHETHER OR NOT YOU FEEL THE NEXT CARD WILL HAVE" + 105 PRINT "A VALUE BETWEEN THE FIRST TWO." + 106 PRINT "IF YOU DO NOT WANT TO BET, INPUT A 0." + 110 PRINT + 160 Q=100 + 190 PRINT "YOU NOW HAVE"Q"DOLLARS." + 195 PRINT + 260 PRINT "HERE ARE YOUR NEXT TWO CARDS..." + 270 A=FNC(A) + 300 B=FNC(B) + 330 IF A>=B THEN 270 + 340 C=A\ GOSUB 760 + 500 C=B\ GOSUB 760 + 650 PRINT + 660 PRINT "WHAT IS YOUR BET";\INPUT M + 670 IF M>0 THEN 680 + 675 PRINT "CHICKEN!!"\PRINT + 677 GOTO 260 + 680 IF M<=Q THEN 730 + 690 PRINT "SORRY, MY FRIEND, BUT YOU BET TOO MUCH" + 700 PRINT "YOU HAVE ONLY"Q"DOLLARS TO BET." + 710 GOTO 650 + 730 C=FNC(C)\ GOSUB 760 + 740 GOTO 910 + 760 IF C<11 THEN 810 + 770 PRINT " ";D$(C-11) + 780 RETURN + 810 PRINT C + 820 RETURN + 910 IF C<=A THEN 970 + 930 IF C>=B THEN 970 + 950 Q=Q+M\ PRINT "YOU WIN!!!" + 960 GOTO 190 + 970 Q=Q-M\ PRINT "SORRY, YOU LOSE." + 980 IF Q>0 THEN 190 +1000 PRINT +1010 PRINT "SORRY, FRIEND, BUT YOU BLEW YOUR WAD." +1020 PRINT "TRY AGAIN (YES OR NO)";\INPUT A$ +1030 IF A$="YES" THEN 110 +1040 PRINT\PRINT "O.K. HOPE YOU HAD FUN!!" +1050 END diff --git a/port/AMAZIN.BAS b/port/AMAZIN.BAS new file mode 100644 index 0000000..bd51358 --- /dev/null +++ b/port/AMAZIN.BAS @@ -0,0 +1,191 @@ + 10 ' AMAZIN -- DRAW A MAZE + 20 ' QUICK PORT TO EDUSYSTEM 50 BY RENAUD FIVET + 100 RANDOMIZE + 110 DIM W(12,12),V(12,12) + 120 PRINT "WHAT ARE YOUR WIDTH AND LENGTH?" + 121 INPUT H,V + 122 PRINT + 130 IF H<2 THEN 132\ IF H>12 THEN 132 + 131 IF V<2 THEN 132\ IF V<=12 THEN 150 + 132 PRINT "MEANINGLESS DIMENSIONS, TRY AGAIN" + 140 PRINT + 141 GO TO 120 + 150 PRINT + 151 PRINT + 160 LET Q=0 + 161 LET Z=0 + 162 LET X=INT(RND(0)*H+1) + 163 FOR I=1 TO H + 170 IF I=X THEN 173 + 171 PRINT ":--"; + 172 GO TO 180 + 173 PRINT ": "; + 180 NEXT I + 190 PRINT ":" + 191 LET C=1 + 192 LET W(X,1)=C + 193 LET C=C+1 + 200 LET R=X + 201 LET S=1 + 202 GO TO 260 + 210 IF R<>H THEN 240 + 211 IF S<>V THEN 230 + 220 LET R=1 + 221 LET S=1 + 222 GO TO 250 + 230 LET R=1 + 231 LET S=S+1 + 232 GO TO 250 + 240 LET R=R+1 + 250 IF W(R,S)=0 THEN 210 + 260 IF R-1=0 THEN 530 + 261 IF W(R-1,S)<>0 THEN 530 + 270 IF S-1=0 THEN 390 + 280 IF W(R,S-1)<>0 THEN 390 + 290 IF R=H THEN 330 + 300 IF W(R+1,S)<>0 THEN 330 + 310 LET X=INT(RND(0)*3+1) + 320 IF X=1 THEN 790 + 321 IF X=2 THEN 820 + 323 IF X=3 THEN 860 + 330 IF S<>V THEN 340 + 331 IF Z=1 THEN 370 + 332 LET Q=1 + 333 GO TO 350 + 340 IF W(R,S+1)<>0 THEN 370 + 350 LET X=INT(RND(0)*3+1) + 360 IF X=1 THEN 790 + 361 IF X=2 THEN 820 + 362 IF X=3 THEN 910 + 370 LET X=INT(RND(0)*2+1) + 380 IF X=1 THEN 790 + 381 IF X=2 THEN 820 + 390 IF R=H THEN 470 + 400 IF W(R+1,S)<>0 THEN 470 + 401 IF S<>V THEN 420 + 410 IF Z=1 THEN 450 + 411 LET Q=1 + 412 GO TO 430 + 420 IF W(R,S+1)<>0 THEN 450 + 430 LET X=INT(RND(0)*3+1) + 440 IF X=1 THEN 790 + 441 IF X=2 THEN 860 + 442 IF X=3 THEN 910 + 450 LET X=INT(RND(0)*2+1) + 460 IF X=1 THEN 790 + 461 IF X=2 THEN 860 + 470 IF S<>V THEN 490 + 480 IF Z=1 THEN 520 + 481 LET Q=1 + 482 GO TO 500 + 490 IF W(R,S+1)<>0 THEN 520 + 500 LET X=INT(RND(0)*2+1) + 510 IF X=1 THEN 790 + 511 IF X=2 THEN 910 + 520 GO TO 790 + 530 IF S-1=0 THEN 670 + 540 IF W(R,S-1)<>0 THEN 670 + 541 IF R=H THEN 610 + 542 IF W(R+1,S)<>0 THEN 610 + 550 IF S<>V THEN 560 + 551 IF Z=1 THEN 590 + 552 LET Q=1 + 553 GO TO 570 + 560 IF W(R,S+1)<>0 THEN 590 + 570 LET X=INT(RND(0)*3+1) + 580 IF X=1 THEN 820 + 581 IF X=2 THEN 860 + 582 IF X=3 THEN 910 + 590 LET X=INT(RND(0)*2+1) + 600 IF X=1 THEN 820 + 601 IF X=2 THEN 860 + 610 IF S<>V THEN 630 + 620 IF Z=1 THEN 660 + 621 LET Q=1 + 622 GO TO 640 + 630 IF W(R,S+1)<>0 THEN 660 + 640 LET X=INT(RND(0)*2+1) + 650 IF X=1 THEN 820 + 651 IF X=2 THEN 910 + 660 GO TO 820 + 670 IF R=H THEN 740 + 680 IF W(R+1,S)<>0 THEN 740 + 681 IF S<>V THEN 700 + 690 IF Z=1 THEN 730 + 691 LET Q=1 + 692 GO TO 830 + 700 IF W(R,S+1)<>0 THEN 730 + 710 LET X=INT(RND(0)*2+1) + 720 IF X=1 THEN 860 + 721 IF X=2 THEN 910 + 730 GO TO 860 + 740 IF S<>V THEN 760 + 750 IF Z=1 THEN 780 + 751 LET Q=1 + 752 GO TO 770 + 760 IF W(R,S+1)<>0 THEN 780 + 770 GO TO 910 + 780 GO TO 1000 + 790 LET W(R-1,S)=C + 800 LET C=C+1 + 801 LET V(R-1,S)=2 + 802 LET R=R-1 + 810 IF C=H*V+1 THEN 1010 + 811 LET Q=0 + 812 GO TO 260 + 820 LET W(R,S-1)=C + 830 LET C=C+1 + 840 LET V(R,S-1)=1 + 841 LET S=S-1 + 842 IF C=H*V+1 THEN 1010 + 850 LET Q=0 + 851 GO TO 260 + 860 LET W(R+1,S)=C + 870 LET C=C+1 + 871 IF V(R,S)=0 THEN 880 + 872 LET V(R,S)=3 + 873 GO TO 890 + 880 LET V(R,S)=2 + 890 LET R=R+1 + 900 IF C=H*V+1 THEN 1010 + 902 GO TO 530 + 910 IF Q=1 THEN 960 + 920 LET W(R,S+1)=C + 921 LET C=C+1 + 922 IF V(R,S)=0 THEN 940 + 930 LET V(R,S)=3 + 931 GO TO 950 + 940 LET V(R,S)=1 + 950 LET S=S+1 + 951 IF C=H*V+1 THEN 1010 + 952 GO TO 260 + 960 LET Z=1 + 970 IF V(R,S)=0 THEN 980 + 971 LET V(R,S)=3 + 972 LET Q=0 + 973 GO TO 1000 + 980 LET V(R,S)=1 + 981 LET Q=0 + 982 LET R=1 + 990 LET S=1 + 991 GO TO 250 +1000 GO TO 210 +1010 FOR J=1 TO V +1011 PRINT"I"; +1012 FOR I=1 TO H +1013 IF V(I,J)<2 THEN 1030 +1020 PRINT" "; +1021 GO TO 1040 +1030 PRINT" I"; +1040 NEXT I +1041 PRINT +1043 FOR I=1 TO H +1045 IF V(I,J)=0 THEN 1060 +1050 IF V(I,J)=2 THEN 1060 +1051 PRINT": "; +1052 GO TO 1070 +1060 PRINT ":--"; +1070 NEXT I +1071 PRINT":" +1072 NEXT J +1073 END