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 " 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