home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / BASIC / FRIENDLY.ZIP / MASTER.001 < prev    next >
Encoding:
Text File  |  1988-10-13  |  4.5 KB  |  47 lines

  1. 10 SCREEN 0,0,0:ON KEY(10) GOSUB 390
  2. 20 CLS:LOCATE 1,1,0:PRINT STRING$(80,219):FOR A=2 TO 22:LOCATE A,1:PRINT"█":LOCATE A,80:PRINT"█":NEXT:LOCATE 23,1:PRINT STRING$(80,219);:LOCATE 5,30:COLOR 15,0:PRINT"M A S T E R    M I N D"
  3. 30 LOCATE 11,25:PRINT"Would You Like Instructions? <Y/N>":COLOR 3,0
  4. 40 GOSUB 440:IF RP$="N" THEN CLS:GOTO 90 ELSE IF RP$<>"Y" THEN 40
  5. 50 COLOR 3,0:LOCATE 8,15:PRINT"Welcome to Master  Mind.  The object of this  game is":LOCATE 9,15:PRINT"to correctly guess a series of from  3  to  6 numbers.":LOCATE 10,15:PRINT"Each number is randomly generated and the possibility"
  6. 60 LOCATE 11,15:PRINT"exists that you may have TWO of the same number in an":LOCATE 12,15:PRINT"answer. An example of this would be `3 3 9' or `6 3 6'":LOCATE 13,15:PRINT"You will have between 9 and 15 guesses to  accomplish"
  7. 70 LOCATE 14,15:PRINT"this task,  depending upon the  length of the  series.":LOCATE 15,15:PRINT"After each guess, you will be told the number of cor-":LOCATE 16,15:PRINT"rect digits, along with how many are in the right po-"
  8. 80 LOCATE 17,15:PRINT"sition. Use these  clues  to guess the correct series.":LOCATE 25,20:COLOR 15,0:PRINT"       Strike Any Key To Continue       ";:COLOR 3,0:GOSUB 440:CLS
  9. 90 DIM GUESS(6):DIM ANSWER(6):COLOR 15,0
  10. 100 LOCATE 8,32:PRINT"WELCOME TO MASTER MIND":LOCATE 9,20:PRINT"To Choose a Level Enter The LETTER Next To It":LOCATE 11,29:PRINT"A)  SERIES OF 3 NUMBERS":LOCATE 12,29:PRINT"B)  SERIES OF 4 NUMBERS":LOCATE 13,29:PRINT"C)  SERIES OF 5 NUMBERS"
  11. 110 LOCATE 14,29:PRINT"D)  SERIES OF 6 NUMBERS":COLOR 3,0:LOCATE 6,17:PRINT"╔"STRING$(49,"═")"╗":FOR B=7 TO 15:LOCATE B,17:PRINT"║":LOCATE B,67:PRINT"║":NEXT:LOCATE 16,17:PRINT"╚"STRING$(49,"═")"╝"
  12. 120 GOSUB 440:IF RP$<"A" OR RP$>"D" THEN 120 ELSE ON ASC(RP$)-64 GOTO 130,140,150,160
  13. 130 DIGITS=3:STARTANS=36:STARTGES=8:BOTROW=15:GOTO 170
  14. 140 DIGITS=4:STARTANS=34:STARTGES=6:BOTROW=15:GOTO 170
  15. 150 DIGITS=5:STARTANS=32:STARTGES=4:BOTROW=18:GOTO 170
  16. 160 DIGITS=6:STARTANS=30:STARTGES=2:BOTROW=21
  17. 170 FOR SUB=1 TO DIGITS:RANDOMIZE(VAL(RIGHT$(TIME$,2))):ANSWER(SUB)=FIX(RND(SUB)*10):NEXT SUB
  18. 180 CLS:XX=1:YY=1:GOSUB 420:LOCATE 1,34:PRINT"SECRET NUMBERS":LOCATE 2,30:PRINT STRING$(23,"-"):BEGINANS=STARTANS
  19. 190 FOR M=1 TO DIGITS:LOCATE 3,BEGINANS:PRINT"██":BEGINANS=BEGINANS+4:NEXT:COLOR 15,0:LOCATE 5,4:PRINT"ENTER YOUR GUESSES":COLOR 3,0
  20. 200 LOCATE 6,2:PRINT STRING$(22,"-"):LOCATE 5,28:PRINT"CORRECT NUMBERS":LOCATE 6,28:PRINT STRING$(15,"-"):LOCATE 5,48:PRINT"CORRECT NUMBERS IN RIGHT POSITION":LOCATE 6,48:PRINT STRING$(33,"-")
  21. 210 FOR ROW=7 TO BOTROW:BEGINGES=STARTGES:FOR Q=1 TO DIGITS:LOCATE ROW,BEGINGES:PRINT"▄▄":BEGINGES=BEGINGES+4:NEXT Q:LOCATE ROW,35:PRINT"▄▄":LOCATE ROW,63:PRINT"▄▄":NEXT ROW
  22. 220 FOR ROW=7 TO BOTROW:BEGINGES=STARTGES:HITS=0:GUESSES=0:DIM HITS$(10,6):DIM MISSES$(10,6)
  23. 230 FOR SUB=1 TO DIGITS:LOCATE ROW,BEGINGES:GOSUB 460:GUESS(SUB)=VAL(RP$):LOCATE ROW,BEGINGES-1:PRINT" "GUESS(SUB):BEGINGES=BEGINGES+4:NEXT SUB
  24. 240 FOR X=1 TO DIGITS:FOR Y=1 TO DIGITS:IF GUESS(X)=ANSWER(Y) AND X=Y AND HITS$(GUESS(X),X)<>"*" THEN GUESSES=GUESSES+1:HITS=HITS+1:HITS$(GUESS(X),X)="*":MISSES$(GUESS(X),X)="*":GOTO 250 ELSE NEXT Y
  25. 250 NEXT X
  26. 260 FOR X=1 TO DIGITS:FOR Y=1 TO DIGITS
  27. 270 IF GUESS(X)=ANSWER(Y) AND HITS$(GUESS(X),X)=""  AND MISSES$(GUESS(X),X)="" AND X<>Y AND MISSES$(GUESS(X),Y)="" AND HITS$(GUESS(X),Y)="" THEN:GUESSES=GUESSES+1:MISSES$(GUESS(X),X)="*":MISSES$(GUESS(X),Y)="*": GOTO 280 ELSE NEXT Y
  28. 280 NEXT X
  29. 290 LOCATE ROW,34:PRINT" "GUESSES" ":LOCATE ROW,62:PRINT" "HITS" ":ERASE MISSES$: ERASE HITS$
  30. 300 IF HITS=DIGITS THEN GOSUB 430:LOCATE 22,22:PRINT"!!!  C O N G R A T U L A T I O N S  !!!":GOTO 340
  31. 310 NEXT ROW
  32. 320 GOSUB 430
  33. 330 LOCATE 22,23:PRINT"!!!  S O R R Y , Y O U   L O S T  !!!"
  34. 340 LOCATE 23,24,O:PRINT"Would You Like To Play Again?  <Y/N>"
  35. 350 GOSUB 440:IF RP$="Y" THEN CLS:GOTO 100 ELSE IF RP$<>"N" THEN 350
  36. 360 ON ERROR GOTO 370:RUN"MENU1.001"
  37. 370 ON ERROR GOTO 380:RUN"MENU2.002"
  38. 380 RUN"MENU3.003"
  39. 390 KEY(10) OFF:XX=CSRLIN:YY=POS(0):LOCATE 25,1:PRINT SPC(79);:LOCATE 25,23
  40. 400 COLOR 15,0:PRINT"Do You Wish To Leave This Game? <Y/N>";:COLOR 3,0
  41. 410 GOSUB 440:IF RP$="Y" THEN 360 ELSE IF RP$<>"N" THEN 410
  42. 420 LOCATE 25,1:PRINT SPC(79);:LOCATE 25,25:COLOR 0,7:PRINT" Strike <F10> To Leave This Game ";:COLOR 3,0:LOCATE XX,YY:KEY(10) ON:RETURN
  43. 430 FOR SUB=1 TO DIGITS:LOCATE 3,STARTANS-1:PRINT" "ANSWER(SUB):STARTANS=STARTANS+4:NEXT SUB:RETURN
  44. 440 IF INKEY$<>"" THEN 440
  45. 450 DEF SEG=&H40:POKE &H17,(PEEK(&H17) OR 96):RP$=INKEY$:IF RP$="" THEN 450 ELSE RETURN
  46. 460 GOSUB 440:IF RP$<"0" OR RP$>"9" THEN 460 ELSE RETURN
  47.