1 REM *** CONCENTRATION ***
2 REM *** BY RANDY HAWKINS ***
3 REM *** CORPUS CHRISTI, TEXAS ***
4 DEF FNCH$(Y,X)=CHR$(27)+CHR$(61)+CHR$(32+Y)+CHR$(32+X):

 POKE &HFFAE,32:PRINT CHR$(27)+"1";CHR$(27)+"5"
5 PRINT CHR$(26):PRINT FNCH$(9,31);"C O N C E N T R A T I O N"
6 PRINT:INPUT "WHO IS PLAYER #1";Y$(1):INPUT "WHO IS PLAYER #2";Y$(2):

 DIM A(35),T$(35),PR(2,17):RANDOMIZE (INP(26)*100+INP(27)):GOTO 30
30 CH=128+RND*63+1
50 S$="":A$=STRING$(12,CH):PR(1,0)=0:PR(2,0)=0:R$=STRING$(12,8)+CHR$(10):

 B$(1)=STRING$(12,32)
60 B$(2)="  "+CHR$(191)+STRING$(9,32):B$(3)=STRING$(9,32)+CHR$(191)+"  ":

 B$(4)="  "+CHR$(191)+STRING$(6,32)+CHR$(191)+"  ":

 B$(5)="  "+STRING$(8,191)+"  "
65 IF MT(1)+MT(2)>0 THEN 75 ELSE PRINT "DO YOU NEED INSTRUCTIONS?"
70 Z$=INKEY$:IF Z$="" THEN 70 ELSE IF Z$="Y" THEN GOSUB 2000
75 PRINT CHR$(26);:FOR I=1 TO 14:PRINT STRING$(60,CH):NEXT
76 J=49:FOR I=4 TO 52 STEP 12:PRINT FNCH$(0,I);"  ";CHR$(J);" ":J=J+1:NEXT I:

 FOR I=4 TO 40 STEP 12:PRINT FNCH$(2,I);"  ";CHR$(J);" ":J=J+1:NEXT I:

 PRINT FNCH$(2,52);"  ";CHR$(65);" "
80 FOR I=4 TO 12 STEP 2:FOR J=0 TO 4:PRINT FNCH$(I,J*12+4);"  ";

 CHR$(56+I*2.5+J);" ":NEXT J:NEXT I:PRINT FNCH$(0,60);CHR$(128)+CHR$(156)+

 CHR$(140)+CHR$(172):G1$="CONCENTRATION":G2$=CHR$(128)+CHR$(149):G3$=CHR$(170)
85 FOR I=1 TO 13:PRINT FNCH$(I,60);G2$;MID$(G1$,I,1);G3$:NEXT I:

 PRINT FNCH$(14,60);CHR$(128);STRING$(3,131):

 PRINT "PARDON ME WHILE I PREPARE THE GAME":PRINT FNCH$(13,70);"":

 PRINT CHR$(140);
90 RESTORE:NP=0:FOR I=1 TO 10:READ Z$:NEXT I
95 NP=NP+1:READ P$,M:IF M>0 THEN 95
100 FOR I=1 TO 5:RESTORE
110 K=INT(RND*10+1):FOR J=1 TO K:READ Z$:NEXT J
120 DATA 015444444444445,113333333333333,215433335222225
130 DATA 315433335333345,414444445333333,515222225333345
140 DATA 615422225444445,715433333333333,815444445444445,915444445333345
150 S$=S$+LEFT$(Z$,1):FOR J=0 TO 6:T$(I+J*5)=MID$(Z$,J*2+2,2):PRINT CHR$(140);:

 NEXT J:NEXT I
160 P=INT(RND*2+1):A(1)=NP:FOR I=2 TO 18
170 J=INT(RND*(NP-1)+1):A(I)=J:FOR K=1 TO I-1:IF A(I)=A(K) THEN 170
175 NEXT K:A(I+17)=A(I):PRINT CHR$(140);:NEXT I
180 FOR L=1 TO 50:I=INT(RND*35+1):J=INT(RND*35+1):K=A(I):A(I)=A(J):A(J)=K:

 IF INT(L/7)*7=L THEN PRINT CHR$(140);
181 NEXT L:PRINT:PRINT FNCH$(15,0);CHR$(24)
190 PRINT FNCH$(15,5);CHR$(24);Y$(P);", WHAT IS YOUR FIRST CHOICE? ";
200 W$=INKEY$:IF W$="" THEN 200
210 IF ASC(W$)<49 OR ASC(W$)>90 OR (ASC(W$)>57 AND ASC(W$)<65) THEN 190
220 PRINT W$:W=ASC(W$)-55-(W$<"A")*7:IF A(W)=0 THEN 190 ELSE GOSUB 1000:W1=W:

 L1V=LOV:L1H=LOH
230 PRINT FNCH$(15,5);CHR$(24);Y$(P);", WHAT IS YOUR SECOND CHOICE? ";
240 W$=INKEY$:IF W$="" THEN 240
250 IF ASC(W$)<49 OR ASC(W$)>90 OR (ASC(W$)>57 AND ASC(W$)<65) THEN 230
260 PRINT W$:W=ASC(W$)-55-(W$<"A")*7:IF A(W)=0 OR W=W1 THEN 230 ELSE GOSUB 1000
270 IF (A(W)=A(W1)) OR (A(W)=NP) OR (A(W1)=NP) THEN 310
275 FOR TI=1 TO 1000:NEXT TI:W=W+55+(W<10)*7:W1=W1+55+(W1<10)*7
280 PRINT FNCH$(LOV,LOH);STRING$(4,CH);"  ";CHR$(W);" ";STRING$(4,CH);R$;A$
290 PRINT FNCH$(L1V,L1H);STRING$(4,CH);"  ";CHR$(W1);" ";STRING$(4,CH);R$;A$
295 IF P=1 THEN P=2 ELSE P=1
300 GOTO 190
310 PRINT FNCH$(15,5);CHR$(24);" * * *  A   M A T C H !  * * *":

 FOR TI=1 TO 1000: NEXT TI
320 PRINT FNCH$(L1V,L1H);B$(1);R$;B$(1):PRINT FNCH$(LOV,LOH);B$(1);R$;B$(1)
330 PRINT FNCH$(15,5);CHR$(24);"HERE ARE TWO MORE PIECES OF THE PUZZLE!"
340 PR(P,0)=PR(P,0)+1:PR(P,PR(P,0))=A(W):IF A(W)=NP THEN PR(P,PR(P,0))=A(W1)
350 A(W)=0:A(W1)=0:PRINT FNCH$(LOV,LOH);B$(VAL(LEFT$(T$(W),1)));R$;

 B$(VAL(RIGHT$(T$(W),1)))
360 PRINT FNCH$(L1V,L1H);B$(VAL(LEFT$(T$(W1),1)));R$;B$(VAL(RIGHT$(T$(W1),1)))
370 FOR TI=1 TO 500:NEXT TI
380 PRINT FNCH$(15,5);CHR$(24);Y$(P);", WHAT IS THE SECRET NUMBER? ";
390 G$=INKEY$:G$="":FOR I=1 TO 5
400 H$=INKEY$:IF H$="" THEN 400
405 IF ASC(H$)<48 OR ASC(H$)>57 THEN 400
410 G$=G$+H$:PRINT H$;:NEXT I:FOR TI=1 TO 200:NEXT TI:PRINT
420 IF G$=S$ THEN 460
425 J=0:FOR I=1 TO 35:J=J+SGN(A(I)):NEXT:IF J=1 THEN 600
430 PRINT FNCH$(15,5);CHR$(24);"SORRY!  ";G$;" WAS WRONG, BUT YOU MAY CONTINUE"
440 FOR TI=1 TO 1000:NEXT TI
450 GOTO 190
460 FOR I=1 TO 35:IF A(I)=0 THEN 490
470 RO=INT((I-1)/5):CO=I-RO*5:KH=(CO-1)*12:KV=RO*2-1
480 FOR J=1 TO 2:PRINT FNCH$(KV+J,KH);B$(VAL(MID$(T$(I),J,1))):NEXT J
490 NEXT I:FOR TI=1 TO 1000:NEXT TI
500 PRINT CHR$(26):T0=0:PRINT:PRINT "YOU GOT IT, ";Y$(P);"!"
510 PRINT "THAT MEANS YOU HAVE WON THE FOLLOWING: ":FOR J=1 TO PR(P,0)
515 RESTORE:FOR I=1 TO 10:READ Z$:NEXT I
520 FOR K=1 TO PR(P,J):READ P$,M:NEXT K:PRINT TAB(10) P$ TAB(30) "WORTH   ";:

 PRINT USING "$$####";M:T0=T0+M:NEXT J
525 PRINT "THAT IS A TOTAL OF $";T0:MT(P)=MT(P)+T0:

 PRINT "SO FAR THIS SESSION, ";Y$(1);" HAS WON $";MT(1);" AND " Y$(2)

 " HAS WON $" MT(2)
530 PRINT "PLAY AGAIN? (Y/N)";
540 Z$=INKEY$:IF Z$="" THEN 540
550 IF Z$="Y" THEN 30
560 IF Z$="N" THEN POKE &HFFAE,2:PRINT CHR$(26);CHR$(27)+"0";CHR$(27)+"4":END
570 GOTO 540
600 PRINT FNCH$(15,5);CHR$(24);

 "SORRY!  NOBODY WINS THIS GAME -- THE NUMBER WAS ";S$
610 FOR TI=1 TO 2000:NEXT TI:PRINT FNCH$(15,0);CHR$(24):GOTO 530
1000 RESTORE:FOR I=1 TO 10:READ Z$:NEXT I
1010 FOR I=1 TO A(W):READ P$,M:NEXT I
1015 DATA " MOTOR HOME ",12000,"EUROPE TRIP ",3000,"  GOLF CART ",2000,

 "    PIANO   ",5000,"  RECLINER  ",600
1016 DATA " 2 HAMSTERS ",50,"ROLLERSKATES",50,"  SWIM POOL ",10000,

 " PINTO PONY ",2000," DISNEYLAND ",1000,"  WARDROBE  ",1000," VIDEO TAPE ",

 1200,"  PARAKEET  ",200," GOLD INGOT ",5000,"  SKI TRIP  ",1000
1017 DATA " MAZDA RX-7 ",12000,"  1957 VW   ",75,"  UNICYCLE  ",400,

 " LAWNMOWER  ",200,"  FURNITURE ",2000,"  PATIO SET ",800," GOLF CLUBS ",200,

 "TENNISRACKET",200,"JOGGING SUIT",100
1020 DATA "  1981 CAR  ",8000,"  FUR COAT  ",5000,"   TRS-80   ",1000,

 "  SAILBOAT  ",9000,"   $5000    ",5000
1025 DATA "CLOCK RADIO ",65," MOTOR BIKE ",750,"   CARPET   ",900,

 "  WATER BED ",1100,"   CAMERA   ",250
1030 DATA "  COLOR TV  ",1500," DISHWASHER ",500," MICROWAVE  ",600,

 "MEXICO TRIP ",3000,"REFRIGERATOR",800
1035 DATA " POGO STICK ",5,"  PET SKUNK ",50,"  AQUARIUM  ",500,

 " CHINA SET  ",500,"  CANDY BAR ",1,"   STEREO   ",350,"  LUGGAGE   ",500,

 " TELESCOPE  ",390,"  BICYCLE   ",120
1040 DATA "LINE PRINTER",800," DISK DRIVE ",500,"  2 GOATS   ",25,

 " HARMONICA  ",5," WILD CARD! ",0
1050 LOV=INT((W-1)/5)*2:LOH=(W-INT((W-1)/5)*5-1)*12
1060 PRINT FNCH$(LOV,LOH);P$;R$;B$(1):RETURN
2000 PRINT CHR$(26):PRINT "     THIS IS THE GAME OF CONCENTRATION":PRINT:PRINT

 "THE OBJECT OF THE GAME IS TO DISCOVER THE SECRET NUMBER HIDDEN BEHIND THE":

 PRINT "GAME BOARD."
2010 PRINT "     THE BOARD IS DIVIDED INTO A 5 X 7 CHECKERBOARD.  BEHIND EACH":

 PRINT "LABELED SQUARE IS ONE OF A PAIR OF PRIZES.  ON YOUR TURN, YOU CHOOSE"
2020 PRINT "TWO SQUARES:  IF THE PRIZES MATCH, YOU WIN THE PRIZE AND 2 PIECES":

 PRINT "OF THE PUZZLE ARE REVEALED."
2030 PRINT "     AS LONG AS YOU MAKE A MATCH, YOUR TURN CONTINUES.  EACH "
2040 PRINT "MATCH YOU MAKE ALLOWS YOU TO GUESS AT THE PUZZLE.  THE PUZZLE IS":

 PRINT "A 5-DIGIT NUMBER CONSISTING OF TALL, THIN VERSIONS OF NUMBERALS ZERO":

 PRINT "THROUGH NINE.  TO SEE THE NUMERALS AS THEY WILL APPEAR, PRESS <RETURN>"
2070 I$=INKEY$:IF I$="" THEN 2070
2080 RESTORE:FOR I=0 TO 9:READ Z$:PRINT CHR$(26):PRINT FNCH$(15,24);

 " THE NUMBER ";LEFT$(Z$,1);": ":PRINT FNCH$(0,25);"";
2090 FOR K=2 TO 15:PRINT B$(VAL(MID$(Z$,K,1)));R$;:NEXT K:PRINT B$(1);:

 FOR TI=1 TO 500:NEXT TI:NEXT I:RETURN
H$(0,25);"";
2090 FOR K=2 TO 15:PRINT B$(VAL(MID$(Z$,K,1)));R$;:NEXT K:PRINT B$(1);:

 FOR TI=1 TO 500:NEXT TI:NEXT I:R