Compucolor.org – Virtual Media

Listing of file='CONCEN.BAS;01' on disk='vmedia/sampler-sector.ccvf'

100 REM
110 REM
120 REM
130 REM
140 CLEAR 25
150 Q9= PEEK (32936)
160 SQ= 15:DL= 1
170 DIM R(SQ),V(SQ),S(1),G(1)
180 DEF FN R(X)= INT (X* RND (1)+ 1)
190 GOSUB 970:GOSUB 1040
200 GOSUB 390
210 PL= FN R(2)- 1
220 PL= 1- PL
230 IF M> SQTHEN 360
240 GOSUB 790
250 IF V(G(0))+ V(G(1))= TTHEN 310
260 S(PL)= S(PL)- 1:GOSUB 620
270 PLOT 6,5,3,28,28:PRINT "NO MATCH":GOSUB 760
280 GOSUB 710:GOSUB 730
290 IF Q9< > 0THEN LOAD "MENU;1":RUN 5
300 GOTO 220
310 S(PL)= S(PL)+ 2:GOSUB 620
320 PLOT 6,6,3,30,28:PRINT "MATCH":GOSUB 760
330 M= M+ 2:GOSUB 690:GOSUB 730:IF Q9< > 7THEN 230
340 GOTO 290
350 END
360 REM
370 GOTO 200
380 REM
390 M= 0
400 IF Q9= 0THEN 440
410 T= 10
420 FOR HH= 1TO 1000:NEXT HH
430 GOTO 470
440 PLOT 6,6,3,0,28:INPUT "PLEASE SELECT A NUMBER FROM 2 TO 999: ";A$
450 IF VAL (A$)< 2OR VAL (A$)> 999THEN LOAD "MENU;1":RUN
460 T= INT (VAL (A$)):IF T< 2OR T> 999THEN GOSUB 770:GOTO 440
470 GOSUB 500:GOSUB 640
480 RETURN
490 REM
500 PLOT 6,0,12,14,6,32
510 FOR I= 0TO 16STEP 2:PLOT 3,13,I:PRINT SPC( 38)"":NEXT
520 FOR Z= 0TO SQ:GOSUB 570:NEXT
530 PLOT 6,2,3,27,18:PRINT "SUM TO"T
540 FOR P= 0TO 1:Q= 44* P:PLOT 17+ P,3,Q,20:PRINT "PLAYER"P+ 1"  SCORE "S(P)
550 FOR S= 1TO 2:PLOT 3,Q,20+ S+ S:PRINT "SELECTION"S":":NEXT :NEXT
560 RETURN
570 GOSUB 600:PLOT 6,52:PRINT "   "CHR$ (65+ Z)"   ":RETURN
580 GOSUB 600:PLOT 6,11:A$= STR$ (V(Z)):A= LEN (A$)
590 PRINT SPC( (7- A)/ 2);A$;SPC( (8- A)/ 2)"":RETURN
600 PLOT 3,15+ 9* (3AND Z),2+ (12AND Z):RETURN
610 REM
620 FOR P= 0TO 1:PLOT 6,1+ P,3,16+ 44* P,20:PRINT S(P):NEXT :RETURN
630 REM
640 FOR I= 0TO SQ:R(I)= I:NEXT
650 FOR I= SQTO 1STEP - 1:J= FN R(I+ 1)- 1:K= R(I):R(I)= R(J):R(J)= K:NEXT
660 FOR I= 0TO INT (SQ/ 2):J= FN R(T+ 1)- 1:V(R(I))= J:V(R(SQ- I))= T- J:NEXT
670 RETURN
680 REM
690 FOR S= 0TO 1:V(G(S))= - 1:NEXT :RETURN
700 REM
710 FOR S= 0TO 1:Z= G(S):GOSUB 570:NEXT :RETURN
720 REM
730 FOR S= 0TO 1:GOSUB 740:NEXT :RETURN
740 PLOT 6,7,3,13+ 44* PL,22+ S+ S:PRINT SPC( 5)"":RETURN
750 REM
760 FOR D= 1TO DL* 500:NEXT
770 PLOT 6,0,3,0,28:PRINT SPC( 63)"":RETURN
780 REM
790 G(1)= - 1:FOR S= 0TO 1
800 IF Q9= 0THEN 850
810 PLOT 6,7,3,13+ 44* PL,22+ S+ S:IF S= 0THEN A$= "A"
820 IF S= 1THEN A$= "K"
830 PRINT A$:Z= ASC (MID$ (A$,1,1))- 65
840 GOTO 860
850 PLOT 6,7,3,13+ 44* PL,22+ S+ S:INPUT "";A$:IF LEN (A$)> 0THEN Z= ASC (MID$ (A$,1,1))- 65
860 IF Z> = 0AND Z< = SQTHEN 890
870 PLOT 6,5,3,19,28:PRINT "ENTER A LETTER FROM A TO "CHR$ (65+ SQ)
880 GOSUB 760:GOSUB 740:GOTO 800
890 IF V(Z)> = 0THEN 920
900 PLOT 6,3,3,19,28:PRINT CHR$ (65+ Z)" HAS ALREADY BEEN MATCHED"
910 GOTO 880
920 IF Z< > G(1- S)THEN 940
930 PLOT 6,5,3,24,28:PRINT "YOU JUST CHOSE "CHR$ (65+ Z):GOTO 880
940 G(S)= Z:GOSUB 580
950 NEXT :RETURN
960 REM
970 PLOT 6,6,12,14,3,20,0
980 PRINT "C O N C E N T R A T I O N"
990 PLOT 18,3,12,2
1000 PRINT "A GAME OF MEMORY AND SKILL FOR TWO PLAYERS"
1010 REM
1020 RETURN
1030 REM
1040 PLOT 15,3,0,6
1050 PRINT "	TO PLAY CONCENTRATION, ONE PLAYER SELECTS A NUMBER"
1060 PRINT "FROM 2 TO 999.  THIS NUMBER IS THE SUM REQUIRED FOR TWO"
1070 PRINT "POSITIONS TO MATCH."
1080 PRINT "	I'LL GENERATE 8 PAIRS OF NUMBERS THAT ADD UP TO THE"
1090 PRINT "SUM AND PLACE THEM AT RANDOM ON A PLAYING BOARD WITH"
1100 PRINT "16 LETTERED POSITIONS FROM A TO P."
1110 PRINT "	THE FIRST PLAYER (CHOSEN AT RANDOM) SELECTS TWO"
1120 PRINT "POSITIONS, ONE AT A TIME.  AS EACH POSITION IS SELECTED,"
1130 PRINT "I'LL REVEAL THE NUMBER IN THAT POSITION. THE"
1140 PRINT "PLAYER THEN SELECTS A SECOND POSITION TRYING TO FIND THE"
1150 PRINT "PAIR OF NUMBERS WHICH ADD UP TO THE ORIGINAL SUM."
1160 PRINT "IF YOU ARE SUCCESSFUL, I'LL ADD 2 TO YOUR SCORE AND"
1170 PRINT "LET YOU SELECT ANOTHER PAIR."
1180 PRINT "	IF YOU FAIL TO MATCH, I'LL TELL YOU THAT YOU HAVE"
1190 PRINT "NO MATCH, LET YOU LOOK AT THE VALUES IN BOTH POSITIONS"
1200 PRINT "FOR A SHORT TIME, AND WIPE THE NUMBERS OFF THE SCREEN."
1210 PRINT "I'LL SUBTRACT 1 FROM YOUR SCORE AND LET YOUR OPPONENT"
1220 PRINT "HAVE A CHANCE TO SELECT.  (YOU CAN TELL WHICH PLAYER IS"
1230 PRINT "SELECTING BY WATCHING THE CURSOR -- THE TWO BLINKING"
1240 PRINT "WHITE HORIZONTAL LINES.)"
1250 PRINT "	WHEN THE BOARD HAS BEEN CORRECTLY MATCHED, I'LL ASK"
1260 PRINT "FOR A NEW SUM TO BE CHOSEN, AND GENERATE A NEW GAME."
1270 RETURN