|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 2688 (0xa80) Types: TextFile Names: »MASTERMN.BAS«
└─⟦69a509965⟧ Bits:30005211 CR8 BASIC Games └─ ⟦this⟧ »MASTERMN.BAS«
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»