ZX81 Listing for zxmm98.p


ZX81 program listing for ZX MASTER MIND*SLR/85/98

ZX MASTER MIND*SLR/85/98 (zxmm98.p)

Guess the right 3 numbers, including order.


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 18736
VARS  : 19529
E-LINE: 19530
STKBOT: 19530
STKEND: 19530


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

  10 REM *** ZX MASTER MIND *** 
         ***    SLR/1985    *** 
         *** REV 11/30/1998 ***
  20 PRINT TAB 8;"ZX MASTER MIND
";AT 3,0;"THE ZX81 HAS CHOSEN 3 
NUMBERS   FOR YOU TO GUESS. YOU 
WILL BE   GIVEN 10 GUESSES AT TH
E COMBINA-TION. THE NUMBERS RANG
E FROM 0  TO 9, WITH NO NUMBER R
EPEATED.  FOR EACH GUESS, THE ZX
81 WILL   TELL YOU HOW MANY NUMB
ERS YOU   GUESSED RIGHT, AND HOW
 MANY ARE IN THE CORRECT PLACE. 
          **GOOD LUCK**"
  30 DIM A(3)
  40 FOR G=1 TO 3
  50 GOSUB 550
  60 NEXT G
  70 PRINT AT 20,0;"PRESS ENTER 
TO BEGIN GAME*******"
  80 PAUSE 4E4
  90 DIM A$(3)
 100 CLS
 110 FOR F=1 TO 10
 120 PRINT "GUESS NUMBER ";F;":"
;
 130 INPUT A$
 140 FOR G=1 TO 3
 150 IF A$(G)<"0" OR A$(G)>"9"
THEN GOTO 130
 160 NEXT G
 170 LET RN=0
 180 LET RP=0
 190 IF A$(1)=A$(2) OR A$(1)=A$(
3) THEN LET A$(1)="-"
 200 IF A$(2)=A$(3) THEN LET A$(
2)="-"
 210 FOR G=1 TO 3
 220 IF A$(G)="-" THEN GOTO 260
 230 LET B=VAL A$(G)
 240 IF B=A(G) THEN LET RP=RP+1
 250 IF B=A(1) OR B=A(2) OR B=A(
3) THEN LET RN=RN+1
 260 NEXT G
 270 IF RP=3 THEN GOTO 350
 280 PRINT A$(1);" ";A$(2);" ";A
$(3),RN;" RIGHT NUMBER";"S" AND
RN<>1;", ";RP;" IN PLACE."
 290 NEXT F
 300 CLS
 310 PRINT TAB 8;"ZX MASTER MIND
";AT 3,0;"SORRY, BUT YOU FAILED 
TO GUESS  THE CORRECT NUMBERS IN
 SEQUENCE."
 320 PRINT AT 12,0;"YOUR LAST GU
ESS WAS: ";A$(1);" ";A$(2);" ";A
$(3),"WITH ";RN;" NUMBER";"S"
AND RN<>1;" RIGHT, AND ";RP;" I
N","THE RIGHT PLACE";"S" AND RP
<>1;"."
 330 PRINT ,,,,"BETTER LUCK NEXT
 TIME**"
 340 GOTO 400
 350 CLS
 360 PRINT TAB 8;"ZX MASTER MIND
";AT 3,0;"YOU GOT THE CORRECT SE
QUENCE ANDNUMBERS. CONGRATS**"
 370 PRINT AT 12,0;"GOOD GOING, 
BUT YOUR LUCK WILL  NOT HOLD OUT
 FOREVER***"
 400 LET B$=A$(1)+" "+A$(2)+" "+
A$(3)
 410 PRINT AT 7,12;"·³³³³³ô";AT
8,12;"µ     õ";AT 9,12;"òóóóóóñ"
 420 FOR H=1 TO 30
 430 PRINT AT 8,13;"³ ³ ³"
 440 LET L=SIN PI*SIN PI*SIN PI
 450 PRINT AT 8,13;"     "
 460 LET L=SIN PI*SIN PI*SIN PI
 470 PRINT AT 8,13;"ó ó ó"
 480 LET L=SIN PI*SIN PI*SIN PI
 490 PRINT AT 8,13;B$
 500 LET L=SIN PI*SIN PI*SIN PI
 510 NEXT H
 520 GOTO 30
 550 LET A(G)=INT (RND*10)
 560 IF G=1 THEN RETURN
 570 IF A(G)=A(1) THEN GOTO 550
 580 IF G=3 AND A(G)=A(2) THEN
GOTO 550
 590 RETURN
 600 SAVE "ZXMM98"
 610 RUN