DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦06579373d⟧ TextFile

    Length: 2688 (0xa80)
    Types: TextFile
    Names: »MASTERMN.BAS«

Derivation

└─⟦69a509965⟧ Bits:30005211 CR8 BASIC Games
    └─ ⟦this⟧ »MASTERMN.BAS« 

TextFile

1  REM PROGRAM MASTERMN.BAS
10 REM PROGRAM TO PLAY MASTERMIND
20 REM N COLOURS, P POSITIONS AND T GOES TO GET THE COMBINATION
30 RANDOMIZE
40 N=6
50 P=4
60 T=6
70 PRINT "MASTERMIND, DO YOU WANT HELP";
80 INPUT Y$
90  REM *** 90 Y$=SEG$(Y$,1,1)
100 IF Y$="" THEN 210
110 IF Y$="N" THEN 210
120 IF Y$<>"Y" THEN 70
130 REM DESCRIPTION OF HOW TO PLAY
140 PRINT "THIS VERSION IS BASED ON STANDARD MASTERMIND"
150 PRINT "	IE	4 POSITIONS, 6 COLOURS"
160 PRINT "THE 6 COLOURS ARE REPRESENTED BY NUMBERS 1 TO 6"
170 PRINT "THE COMPUTER WILL PRINT:-"
180 PRINT "		* FOR A BLACK PEG."
190 PRINT "		? FOR A WHITE PEG."
200 PRINT "		. FOR NO PEG."
210 REM SET UP 4 UNKNOWN NUMBERS IN N(). LOOP HERE FOR RESTART
220 FOR K=1 TO P
230 N(K)=INT(RND*N+1)
240 N1(K)=N(K)
250 REM REMOVE THE NEXT LINE TO HAVE THE COMBINATION PRINTED
260 GO TO 280
270 PRINT N(K);
280 NEXT K
290 PRINT 
300 PRINT "YOU NOW HAVE ";T;" GOES TO GET THE RIGHT COMBINATION"
310 REM BEGIN GUESSING HERE!!
320 FOR G=1 TO T
330 M=0
340 PRINT 
350 PRINT "INPUT COMBINATION ";G;" -";
360 INPUT Q
370 PRINT 
380 G(4)=Q-10*INT(Q/10)
390 Q=INT(Q/10)
400 G(3)=Q-10*INT(Q/10)
410 Q=INT(Q/10)
420 G(2)=Q-10*INT(Q/10)
430 G(1)=INT(Q/10)
440 FOR K=1 TO P
450 IF G(K)<1 THEN 470
460 IF G(K)<=N THEN 480
470 V=1
480 NEXT K
490 IF V=0 THEN 540
500 PRINT "THE COMBINATION SHOULD BE MADE UP OF NUMBERS IN THE RANGE"
510 PRINT "1 TO ";N;". TRY AGAIN."
520 V=0
530 GO TO 350
540 PRINT ,,
550 FOR K=1 TO P
560 PRINT G(K);
570 NEXT K
580 REM BEGIN COMPARING THIS COMBINATION WITH THE UNKNOWN
590 PRINT ,
600 FOR J=1 TO P
610 IF N(J)<>G(J) THEN 660
620 M=M+1
630 N(J)=0
640 G(J)=-1
650 PRINT " *";
660 NEXT J
670 REM ALL BLACK PEGS DONE
680 IF M<4 THEN 740
690 PRINT 
700 PRINT "YOU WIN!!! THATS THE RIGHT COMBINATION"
710 GOSUB 1090
720 PRINT 
730 GO TO 1020
740 REM NOW TEST FOR WHITE PEGS
750 FOR J=1 TO P
760 FOR K=1 TO P
770 IF G(K)<>N(J) THEN 820
780 M=M+1
790 G(K)=-1
800 N(J)=0
810 PRINT " ?";
820 NEXT K
830 NEXT J
840 REM END OF WHITE PEGS
850 IF M>=P THEN 890
860 PRINT " .";
870 M=M+1
880 GO TO 850
890 PRINT 
900 FOR K=1 TO P
910 N(K)=N1(K)
920 NEXT K
930 NEXT G
940 PRINT 
950 PRINT "SO YOU DIDN'T GET THE RIGHT COMBINATION EH?"
960 PRINT "WELL IT WAS ";
970 FOR K=1 TO P
980 PRINT N1(K);
990 NEXT K
1000 PRINT 
1010 PRINT 
1020 PRINT "ANOTHER GO";
1030 INPUT Y$
1040 REM *** 1040 Y$=SEG$(Y$,1,1)
1050 IF Y$="Y" THEN 210
1060 IF Y$="N" THEN 1080
1070 IF Y$<>"" THEN 1020
1080 STOP
1090 FOR A9=1 TO 10
1100 PRINT CHR$(7)
1110 NEXT A9
1120 RETURN
1130 END
«eof»