mirror of
https://github.com/rfivet/BCG101.git
synced 2024-12-18 08:06:27 -05:00
Add first refactored version and second program code and port.
This commit is contained in:
parent
088a4a2998
commit
8648a48419
189
dec/AMAZIN.BAS
Normal file
189
dec/AMAZIN.BAS
Normal file
@ -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
|
50
factory/ACEYDU.BAS
Normal file
50
factory/ACEYDU.BAS
Normal file
@ -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
|
191
port/AMAZIN.BAS
Normal file
191
port/AMAZIN.BAS
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user