home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
RUN Flagazine Extra: Special 3
/
run-special-3.zip
/
MINDMAST.BAS
< prev
next >
Wrap
BASIC Source File
|
1989-11-24
|
3KB
|
67 lines
100 REM PC SPEELT MASTERMIND - MONOCHROOM
110 CLS:KEY OFF:GOSUB 720:PRINT:RANDOMIZE TIMER
120 INPUT"Geef uw kleurcode (4 cijfers) zonder nullen";CO
130 IF CO>6666 THEN 110
140 CO$=RIGHT$(STR$(CO),4):IF LEN(CO$)<>4 THEN 110
150 FOR A=1 TO 4:IF VAL(MID$(CO$,A,1))=0 OR VAL(MID$(CO$,A,1))>6 THEN 110 ELSE NEXT A
160 CLS:NUM$=CO$:GOSUB 720:GOSUB 390:RESTORE
170 FOR R=1 TO 6:FOR C=1 TO 4:READ PO(R,C):NEXT C,R
180 C1=1:C2=1:C3=1:C4=0:GU=0
190 FOR A=9 TO 11:LOCATE A,1:PRINT STRING$(79,32):NEXT A:GU=GU+1
200 IF GU=1 THEN FOR I=1 TO 4:C(I)=INT(RND*(6)):C(I)=C(I)+1:NEXT I
210 IF GU=2 THEN C(1)=C1:C(2)=C2:C(3)=C3:C(4)=C4
220 IF GU>2 THEN FOR I=1 TO 4:C(I)=GT(GU-1,I):NEXT I
230 IF GU>1 THEN GOSUB 500:TRY$=""
240 FOR I=1 TO 4:TRY$=TRY$+RIGHT$(STR$(C(I)),1):NEXT I
250 GOSUB 720:BEEP:PRINT:PRINT "Beurt";GU;:PRINT:GOSUB 730
260 PRINT "Hoeveel goed in: ";TRY$
270 PRINT:INPUT "Hoeveel zwarte pinnen";BB:IF BB=4 THEN 340
280 INPUT "Hoeveel witte pinnen";WW
290 FOR I=1 TO 4:GT(GU,I)=C(I):NEXT I:GT(GU,5)=BB:GT(GU,6)=WW
300 NUM$=CO$:GOSUB 390
310 FOR I=1 TO 4:C(I)=T(I):NEXT I:NUM$=TRY$:GOSUB 390:GOSUB 420
320 FOR I=1 TO 4:T(I)=C(I):NEXT I ELSE IF BB=B AND WW=W THEN 340
330 GT(GU,5)=B:GT(GU,6)=W
340 IF BB=4 THEN PRINT:PRINT "Ik heb 't gevonden in"GU"beurten":GOTO 750
350 IF B+W=4 THEN GOSUB 540:IF B+W=0 THEN GOSUB 590
360 IF B=0 AND W<>0 THEN GOSUB 600
370 LOCATE 7,1:PRINT "Ik denk na... ":GOTO 190
380 DATA 1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6
390 ER=0:FOR I=1 TO 4:T(I)=VAL(MID$(NUM$,I,1))
400 IF T(I)<1 OR T(I)>6 THEN ER=1
410 NEXT I:RETURN
420 B=0:W=0:FOR I=1 TO 4:W(I)=C(I):NEXT I
430 FOR I=1 TO 4:IF W(I)<>T(I) THEN 450
440 W(I)=-1:T(I)=-2:B=B+1
450 NEXT I
460 FOR I=1 TO 4:FOR J=1 TO 4:IF T(I)<>W(J) THEN 480
470 LOCATE 7,16+I:PRINT T(I):W(J)=-1:W=W+1:GOTO 490
480 NEXT J
490 NEXT I:RETURN
500 GOSUB 610
510 FOR L=1 TO GU-1:FOR J=1 TO 4:T(J)=GT(L,J):NEXT J:GOSUB 420
520 IF GT(L,5)=B AND GT(L,6)=W THEN 530 ELSE 500
530 NEXT L:RETURN
540 FOR I=1 TO 6:EL(I)=I:NEXT I
550 FOR I=1 TO 4:EL(GT(GU,I))=0:NEXT I
560 FOR I=1 TO 6
570 IF EL(I)<>0 THEN PO(I,1)=0:PO(I,2)=0:PO(I,3)=0:PO(I,4)=0
580 NEXT I:RETURN
590 FOR I=1 TO 4:FOR J=1 TO 4:PO(GT(GU,I),J)=0:NEXT J,I:RETURN
600 FOR I=1 TO 4:PO(GT(GU,I),I)=0:NEXT I:RETURN
610 GOTO 700
620 IF PO(C1,1)<>0 THEN C(1)=PO(C1,1):GOTO 650
630 C1=C1+1:IF C1<7 THEN 620
640 PRINT:PRINT "Er klopt iets niet. U heeft een fout gemaakt!":END
650 IF PO(C2,2)<>0 THEN C(2)=PO(C2,2):GOTO 680
660 C2=C2+1:IF C2<7 THEN 650
670 C2=1:GOTO 630:IF PO(C3,3)<>0 THEN C(3)=PO(C3,3):GOTO 700
680 IF PO(C3,3)<>0 THEN C(3)=PO(C3,3):GOTO 700
690 C3=C3+1:IF C3<7 THEN 680 ELSE C3=1:GOTO 660
700 C4=C4+1:IF C4<7 THEN 710 ELSE C4=0:GOTO 690
710 IF PO(C4,4)=0 THEN 700 ELSE C(4)=PO(C4,4):RETURN
720 LOCATE 1,1:PRINT "DE PC SPEELT ZELF MASTERMIND":RETURN
730 PRINT:PRINT"Uw geheime code: ";CO$
740 PRINT STRING$(17,32)STRING$(4,18):RETURN
750 WHILE INKEY$="":WEND:END