home *** CD-ROM | disk | FTP | other *** search
/ RUN Flagazine Extra: Special 3 / run-special-3.zip / MINDMAST.BAS < prev    next >
BASIC Source File  |  1989-11-24  |  3KB  |  67 lines

  1. 100 REM PC SPEELT MASTERMIND - MONOCHROOM
  2. 110 CLS:KEY OFF:GOSUB 720:PRINT:RANDOMIZE TIMER
  3. 120 INPUT"Geef uw kleurcode (4 cijfers) zonder nullen";CO
  4. 130 IF CO>6666 THEN 110
  5. 140 CO$=RIGHT$(STR$(CO),4):IF LEN(CO$)<>4 THEN 110
  6. 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
  7. 160 CLS:NUM$=CO$:GOSUB 720:GOSUB 390:RESTORE
  8. 170 FOR R=1 TO 6:FOR C=1 TO 4:READ PO(R,C):NEXT C,R
  9. 180 C1=1:C2=1:C3=1:C4=0:GU=0
  10. 190 FOR A=9 TO 11:LOCATE A,1:PRINT STRING$(79,32):NEXT A:GU=GU+1
  11. 200 IF GU=1 THEN FOR I=1 TO 4:C(I)=INT(RND*(6)):C(I)=C(I)+1:NEXT I
  12. 210 IF GU=2 THEN C(1)=C1:C(2)=C2:C(3)=C3:C(4)=C4
  13. 220 IF GU>2 THEN FOR I=1 TO 4:C(I)=GT(GU-1,I):NEXT I
  14. 230 IF GU>1 THEN GOSUB 500:TRY$=""
  15. 240 FOR I=1 TO 4:TRY$=TRY$+RIGHT$(STR$(C(I)),1):NEXT I
  16. 250 GOSUB 720:BEEP:PRINT:PRINT "Beurt";GU;:PRINT:GOSUB 730
  17. 260 PRINT "Hoeveel goed in: ";TRY$
  18. 270 PRINT:INPUT "Hoeveel zwarte pinnen";BB:IF BB=4 THEN 340
  19. 280 INPUT "Hoeveel witte pinnen";WW
  20. 290 FOR I=1 TO 4:GT(GU,I)=C(I):NEXT I:GT(GU,5)=BB:GT(GU,6)=WW
  21. 300 NUM$=CO$:GOSUB 390
  22. 310 FOR I=1 TO 4:C(I)=T(I):NEXT I:NUM$=TRY$:GOSUB 390:GOSUB 420
  23. 320 FOR I=1 TO 4:T(I)=C(I):NEXT I ELSE IF BB=B AND WW=W THEN 340
  24. 330 GT(GU,5)=B:GT(GU,6)=W
  25. 340 IF BB=4 THEN PRINT:PRINT "Ik heb 't gevonden in"GU"beurten":GOTO 750
  26. 350 IF B+W=4 THEN GOSUB 540:IF B+W=0 THEN GOSUB 590
  27. 360 IF B=0 AND W<>0 THEN GOSUB 600
  28. 370 LOCATE 7,1:PRINT "Ik denk na...   ":GOTO 190
  29. 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
  30. 390 ER=0:FOR I=1 TO 4:T(I)=VAL(MID$(NUM$,I,1))
  31. 400 IF T(I)<1 OR T(I)>6 THEN ER=1
  32. 410 NEXT I:RETURN
  33. 420 B=0:W=0:FOR I=1 TO 4:W(I)=C(I):NEXT I
  34. 430 FOR I=1 TO 4:IF W(I)<>T(I) THEN 450
  35. 440 W(I)=-1:T(I)=-2:B=B+1
  36. 450 NEXT I
  37. 460 FOR I=1 TO 4:FOR J=1 TO 4:IF T(I)<>W(J) THEN 480
  38. 470 LOCATE 7,16+I:PRINT T(I):W(J)=-1:W=W+1:GOTO 490
  39. 480 NEXT J
  40. 490 NEXT I:RETURN
  41. 500 GOSUB 610
  42. 510 FOR L=1 TO GU-1:FOR J=1 TO 4:T(J)=GT(L,J):NEXT J:GOSUB 420
  43. 520 IF GT(L,5)=B AND GT(L,6)=W THEN 530 ELSE 500
  44. 530 NEXT L:RETURN
  45. 540 FOR I=1 TO 6:EL(I)=I:NEXT I
  46. 550 FOR I=1 TO 4:EL(GT(GU,I))=0:NEXT I
  47. 560 FOR I=1 TO 6
  48. 570 IF EL(I)<>0 THEN PO(I,1)=0:PO(I,2)=0:PO(I,3)=0:PO(I,4)=0
  49. 580 NEXT I:RETURN
  50. 590 FOR I=1 TO 4:FOR J=1 TO 4:PO(GT(GU,I),J)=0:NEXT J,I:RETURN
  51. 600 FOR I=1 TO 4:PO(GT(GU,I),I)=0:NEXT I:RETURN
  52. 610 GOTO 700
  53. 620 IF PO(C1,1)<>0 THEN C(1)=PO(C1,1):GOTO 650
  54. 630 C1=C1+1:IF C1<7 THEN 620
  55. 640 PRINT:PRINT "Er klopt iets niet. U heeft een fout gemaakt!":END
  56. 650 IF PO(C2,2)<>0 THEN C(2)=PO(C2,2):GOTO 680
  57. 660 C2=C2+1:IF C2<7 THEN 650
  58. 670 C2=1:GOTO 630:IF PO(C3,3)<>0 THEN C(3)=PO(C3,3):GOTO 700
  59. 680 IF PO(C3,3)<>0 THEN C(3)=PO(C3,3):GOTO 700
  60. 690 C3=C3+1:IF C3<7 THEN 680 ELSE C3=1:GOTO 660
  61. 700 C4=C4+1:IF C4<7 THEN 710 ELSE C4=0:GOTO 690
  62. 710 IF PO(C4,4)=0 THEN 700 ELSE C(4)=PO(C4,4):RETURN
  63. 720 LOCATE 1,1:PRINT "DE PC SPEELT ZELF MASTERMIND":RETURN
  64. 730 PRINT:PRINT"Uw geheime code: ";CO$
  65. 740 PRINT STRING$(17,32)STRING$(4,18):RETURN
  66. 750 WHILE INKEY$="":WEND:END
  67.