10 KEY OFF:CLS
20 PRINT"???????????????????????????????????????"
30 PRINT"??????????????????????????????????????"
40 PRINT"??                                   ??"
50 PRINT"??           5009-A.BAS              ??"
60 PRINT"??         STATES AND CAPITALS       ??"
70 PRINT"??                                   ??"
80 PRINT"??                                   ??"
90 PRINT"?? BROUGHT TO YOU BY THE MEMBERS OF  ??"
100 PRINT"??      ????? ????? ????? ?????      ??"
110 PRINT"??        ?   ?   ? ?     ?   ?      ??"
120 PRINT"??        ?   ????? ?     ?   ?      ??"
130 PRINT"??        ?   ?     ?     ?   ?      ??"
140 PRINT"??      ????? ?     ????? ?????      ??"
150 PRINT"??                                   ??"
160 PRINT"??      International PC Owners      ??"
170 PRINT"??                                   ??"
180 PRINT"??P.O. Box 10426, Pittsburgh PA 15234??"
190 PRINT"??                                   ??"
200 PRINT"??????????????????????????????????????"
210 PRINT"???????????????????????????????????????"
220 PRINT
230 PRINT "       PRESS ANY KEY TO CONTINUE
240 A$=INKEY$: IF A$="" THEN 240
250 CLS
1000 ' ***** States and capitals *****
1010 '
1020 ' ***** Converted to IBM PC BASIC *****
1030 '
1040 ' ***** From a program in the February 1983 issue of 80 MICRO *****
1050 '
1060 ' ***** Originally written by DENNIS H. WEIDE *****
1070 '
1080 ' ***** Display menu *****
1090 CLS
1100 SCREEN 1
1110 COLOR 0,1
1120 KEY OFF:CLS
1130 OUT 980,2:OUT 981,43
1140 PRINT :PRINT STRING$(39,"%")
1150 PRINT TAB(11) "STATES AND CAPITALS"
1160 PRINT TAB(9)"CONVERTED TO IBM PC BY":PRINT TAB(15) "ED NEASHAM":PRINT TAB(16) "JAN 1983"
1170 PRINT STRING$(39,"%")
1180 PRINT TAB(6)"1. NAME THE STATES":PRINT
1190 PRINT TAB(6)"2. NAME THE CAPITALS"
1200 ' ***** Define answer strings (H$,J$) *****
1210 H$ = "CORRECT":J$ = "WRONG"
1220 ' ***** Dimension all arrays *****
1230 DIM A(6):DIM B(6)
1240 DIM S$(53): DIM S1(53)
1250 DIM S2(53): DIM IC(53)
1260 DIM C(6):DIM D(6)
1270 DIM E(6):DIM F(6)
1280 DIM G(6):DIM H(6)
1290 DIM I(6):DIM J(6)
1300 DIM K(6):DIM L(6)
1310 DIM M(6):DIM N(6)
1320 DIM O(6):DIM P(6)
1330 DIM Q(6):DIM R(6)
1340 DIM S(6):DIM T(6)
1350 DIM U(6):DIM V(6)
1360 DIM W(6):DIM X(6)
1370 DIM Y(6):DIM Z(6)
1380 DIM ZZ(6):DIM AA(6)
1390 DIM ER(6)
1400 DIM SC$(53)
1410 ' ***** Read data statements for States and location on the screen *****
1420 FOR Y = 1 TO 53 :READ S$(Y),S1(Y),S2(Y)
1430 NEXT Y
1440 ' ***** Read data statement for State Capitals *****
1450 FOR Y = 1 TO 53: READ SC$(Y) :NEXT Y
1460 ' ***** Draw blank and GET it *****
1470 GET(64,96)-(68,104),ER
1480 ' ***** Graphically draw letter, GET the letter, replace the letter *****
1490 ' ***** with a blank in preparation for the next letter *****
1500 COLOR 0,1:DRAW"BM8,104;U8R4D8U4L4"
1510 GET (8,96)-(12,104),A:PUT (8,96),ER,PSET
1520 DRAW "BM8,104;U8R3D4L3R4D4L4"
1530 GET (8,96)-(12,104),B:PUT (8,96),ER,PSET
1540 DRAW "BM8,104;U8R4D2BD4D2L4":GET(8,96)-(12,104),C:PUT(8,96),ER,PSET
1550 DRAW "BM8,104;U8R2F2D4G2L2":GET(8,96)-(12,104),D:PUT(8,96),ER,PSET
1560 DRAW "BM8,104;R4L4U4NR3U4R4":GET(8,96)-(12,104),E:PUT(8,96),ER,PSET
1570 DRAW "BM8,104;U4NR3U4R4":GET(8,96)-(12,104),F:PUT(8,96),ER,PSET
1580 DRAW "BM8,104;U8R4BD4NL2D4L4":GET(8,96)-(12,104),G:PUT(8,96),ER,PSET
1590 DRAW "BM8,104;U8D4R4U4D8":GET(8,96)-(12,104),H:PUT(8,96),ER,PSET
1600 DRAW "BM8,104;R4L2U8L2R4":GET(8,96)-(12,104),I:PUT(8,96),ER,PSET
1610 DRAW "BM8,104;U4D4R4U8":GET(8,96)-(12,104),J:PUT(8,96),ER,PSET
1620 DRAW "BM8,104;U8BR4G4E2":LINE-(12,104):GET(8,96)-(12,104),K:PUT(8,96),ER,PSET
1630 DRAW "BM8,104;NR4U8":GET(8,96)-(12,104),L:PUT(8,96),ER,PSET
1640 DRAW "BM8,104;U8R2ND3R2D8":GET(8,96)-(12,104),M:PUT(8,96),ER,PSET
1650 DRAW "BM8,104;U8":LINE (8,96)-(12,104):LINE-(12,96):GET(8,96)-(12,104),N:PUT(8,96),ER,PSET
1660 DRAW "BM8,104;U8R4D8L4":GET(8,96)-(12,104),O:PUT(8,96),ER,PSET
1670 DRAW "BM8,104;U8R4D4L4":GET(8,96)-(12,104),P:PUT(8,96),ER,PSET
1680 DRAW "BM8,104;U8R4D8NH3L4":GET(8,96)-(12,104),Q:PUT(8,96),ER,PSET
1690 DRAW "BM8,104;U8R4D4L4F4":GET(8,96)-(12,104),R:PUT(8,96),ER,PSET
1700 DRAW "BM8,104;NU1R4U4L4U4R4D1":GET(8,96)-(12,104),S:PUT(8,96),ER,PSET
1710 DRAW "BM8,104;BR2U8L2R4":GET(8,96)-(12,104),T:PUT(8,96),ER,PSET
1720 DRAW "BM8,104;U8BR4D8L4":GET(8,96)-(12,104),U:PUT(8,96),ER,PSET
1730 DRAW "BM8,104;BU8D6F2E2U6":GET(8,96)-(12,104),V:PUT(8,96),ER,PSET
1740 DRAW "BM8,104;U8BR4D8L2NU2L2":GET(8,96)-(12,104),W:PUT(8,96),ER,PSET
1750 DRAW "BM8,104;U2E4U2BL4D2F4D2":GET(8,96)-(12,104),X:PUT(8,96),ER,PSET
1760 DRAW "BM8,104;BU8D2F2ND4E2U2":GET(8,96)-(12,104),Y:PUT(8,96),ER,PSET
1770 LINE (8,96)-(12,96):LINE-(8,104):LINE-(12,104):GET(8,96)-(12,104),Z:PUT(8,96),ER,PSET
1780 GET(8,96)-(12,104),ZZ
1790 DRAW "BM8,104;R4":GET(8,96)-(12,104),AA:PUT(8,96),ER,PSET
1800 ' ***** Choose the game to be played (States or Capitals) *****
1810 PRINT :PRINT
1820 PRINT TAB(5) "ENTER ONE OF THE ABOVE";
1830 GS$=INKEY$:IF GS$="" THEN 1830
1840 BETA = VAL(RIGHT$(TIME$,2)):RANDOMIZE(BETA):WW=RND
1850 GS = VAL(GS$):CLS:IF GS<1 OR GS >2 THEN GS=1
1860 NQ = 10
1870 GOTO 2250
1880 B$=B$+A$
1890 RETURN
1900 ' ***** Display graphic letter in proper block *****
1910 A1=A1+8
1920 IF A$="A" THEN PUT(A1,A2),A:GOTO 1880
1930 IF A$="B" THEN PUT(A1,A2),B:GOTO 1880
1940 IF A$="C" THEN PUT(A1,A2),C:GOTO 1880
1950 IF A$="D" THEN PUT(A1,A2),D:GOTO 1880
1960 IF A$="E" THEN PUT(A1,A2),E:GOTO 1880
1970 IF A$="F" THEN PUT(A1,A2),F:GOTO 1880
1980 IF A$="G" THEN PUT(A1,A2),G:GOTO 1880
1990 IF A$="H" THEN PUT(A1,A2),H:GOTO 1880
2000 IF A$="I" THEN PUT(A1,A2),I:GOTO 1880
2010 IF A$="J" THEN PUT(A1,A2),J:GOTO 1880
2020 IF A$="K" THEN PUT(A1,A2),K:GOTO 1880
2030 IF A$="L" THEN PUT(A1,A2),L:GOTO 1880
2040 IF A$="M" THEN PUT(A1,A2),M:GOTO 1880
2050 IF A$="N" THEN PUT(A1,A2),N:GOTO 1880
2060 IF A$="O" THEN PUT(A1,A2),O:GOTO 1880
2070 IF A$="P" THEN PUT(A1,A2),P:GOTO 1880
2080 IF A$="Q" THEN PUT(A1,A2),Q:GOTO 1880
2090 IF A$="R" THEN PUT(A1,A2),R:GOTO 1880
2100 IF A$="S" THEN PUT(A1,A2),S:GOTO 1880
2110 IF A$="T" THEN PUT(A1,A2),T:GOTO 1880
2120 IF A$="U" THEN PUT(A1,A2),U:GOTO 1880
2130 IF A$="V" THEN PUT(A1,A2),V:GOTO 1880
2140 IF A$="W" THEN PUT(A1,A2),W:GOTO 1880
2150 IF A$="X" THEN PUT(A1,A2),X:GOTO 1880
2160 IF A$="Y" THEN PUT(A1,A2),Y:GOTO 1880
2170 IF A$="Z" THEN PUT(A1,A2),Z:GOTO 1880
2180 IF A$="." THEN 5970
2190 IF A$=" " THEN PUT(A1,A2),ZZ:GOTO 1880
2200 IF A$=CHR$(8) THEN 2230
2210 A1=A1-8
2220 GOTO 1890
2230 GOSUB 5620: GOTO 1890
2240 B$=B$+A$: GOTO 1890
2250 ' ***** Draw box and put in title on screen *****
2260 NP=NP+1:NO=NO+1:IF NO>NQ THEN 5500
2270 IF NP>53 THEN 5500
2280 IF GS=2 AND NP>48 THEN 5500
2290 NR=NR+1
2300 IF V = 1 THEN 2310
2310 A$="":B$=""
2320 COLOR 0,1
2330 LINE (0,0)-(255,0)
2340 LINE (0,0)-(0,191)
2350 LINE (255,0)-(255,191)
2360 LINE (0,191)-(255,191)
2370 LINE (0,142)-(255,142)
2380 LINE (135,142)-(135,191)
2390 LINE (0,166)-(255,166)
2400 LINE (34,4)-(42,16):DRAW "BM34,16;U12BR8D12BR4U12R8D8NL8D4BR4U12R4ND8R4D12BR4NR8U4NR4U8R8"
2410 LINE (34,4)-(42,16):DRAW "BM34,16;U12BR8D12BR4U12R8D8NL8D4BR4U12R4ND8R4D12BR4NR8U4NR4U8R8"
2420 IF GS = 2 THEN 2440
2430 DRAW "BR7"
2440 DRAW "BR12R4ND12R4BR4D12U4R8NU8D4BR4NR8U4NR4U8R8"
2450 IF GS=2 THEN 2490
2460 DRAW "BR7"
2470 DRAW "BR12BD12R8U4L8U8R8BR4R4ND12R4BR4ND12R8D8NL8D4BR8U12NL4R4BR4NR8D8NR4D4R8BR4R8U4L8U8R8"
2480 GOTO 2510
2490 DRAW "BR12R8ND2L8D12R8NU2BR4U12R8D8NL8D4BR4U12R8D8L8U8R8BR4R2NR2D12NL2BR8U12NL4R4BR4R8D12BL8U4NR8U8R8BR4D12R8BR4NU2R8U4L8U8R8D2"
2500 ' ***** Draw map of United States *****
2510 LINE(36,20)-(36,22)
2520 LINE-(34,22)
2530 LINE-(36,34)
2540 LINE-(36,41)
2550 LINE-(33,47)
2560 LINE-(32,64)
2570 LINE-(35,75)
2580 DRAW"R2D2L2"
2590 LINE-(41,89)
2600 LINE-(45,90)
2610 LINE-(54,101)
2620 LINE-(54,103)
2630 LINE-(64,103)
2640 LINE-(77,107)
2650 LINE-(87,107)
2660 DRAW"U1R5"
2670 LINE-(97,112)
2680 LINE-(97,115)
2690 LINE-(103,117)
2700 LINE-(104,115)
2710 LINE-(109,116)
2720 LINE-(116,125)
2730 LINE-(124,128)
2740 LINE-(124,122)
2750 LINE-(126,118)
2760 LINE-(129,122)
2770 LINE-(130,115)
2780 LINE-(139,115)
2790 LINE-(141,117)
2800 LINE-(148,117)
2810 LINE-(145,113)
2820 LINE-(156,112)
2830 LINE-(160,114)
2840 LINE-(163,112)
2850 LINE-(167,118)
2860 LINE-(167,121)
2870 LINE-(171,127)
2880 LINE-(171,129)
2890 LINE-(173,131)
2900 LINE-(178,129)
2910 LINE-(178,121)
2920 LINE-(177,116)
2930 LINE-(172,107)
2940 LINE-(175,102)
2950 LINE-(178,101)
2960 LINE-(179,98)
2970 LINE-(191,85)
2980 LINE-(189,75)
2990 LINE-(193,77)
3000 LINE-(194,75)
3010 LINE-(194,72)
3020 LINE-(197,72)
3030 LINE-(200,65)
3040 LINE-(198,64)
3050 LINE-(199,61)
3060 LINE-(197,59)
3070 LINE-(207,56)
3080 LINE-(212,53)
3090 DRAW "U2R2D1"
3100 LINE-(215,51)
3110 DRAW"U2L2U1L2U6"
3120 LINE-(220,40)
3130 LINE-(221,35)
3140 LINE-(218,34)
3150 LINE-(218,26)
3160 LINE-(215,27)
3170 LINE-(210,25)
3180 LINE-(207,35)
3190 LINE-(204,36)
3200 LINE-(192,36)
3210 LINE-(181,43)
3220 LINE-(178,43)
3230 LINE-(174,47)
3240 DRAW "R2D2L2"
3250 LINE-(163,54)
3260 LINE-(168,43)
3270 DRAW "U3R2D2R2U2"
3280 LINE-(169,34)
3290 LINE-(159,32)
3300 DRAW "U7L4U2"
3310 LINE-(147,22)
3320 LINE-(142,25)
3330 LINE-(126,20)
3340 LINE-(36,20)
3350 LINE (36,34)-(39,35)
3360 DRAW "D2"
3370 LINE-(48,36)
3380 LINE-(57,36)
3390 LINE (57,20)-(57,44)
3400 LINE-(55,46)
3410 LINE-(58,47)
3420 LINE-(58,53)
3430 LINE (32,54)-(75,54)
3440 LINE (49,54)-(49,72)
3450 LINE-(65,87)
3460 LINE-(67,90)
3470 LINE-(64,93)
3480 LINE-(64,103)
3490 LINE (68,54)-(68,84)
3500 DRAW"L3D3"
3510 DRAW "BM62,20;D8R2D8"
3520 LINE-(67,37)
3530 LINE-(69,44)
3540 DRAW "R7U2D2D16R21U40"
3550 LINE (75,42)-(97,42)
3560 LINE (76,60)-(105,60)
3570 LINE (84,60)-(84,107)
3580 LINE (68,81)-(127,81)
3590 LINE (105,60)-(105,81)
3600 LINE (102,81)-(102,104)
3610 LINE-(92,104)
3620 LINE-(92,106)
3630 LINE (102,84)-(112,84)
3640 LINE-(112,93)
3650 LINE-(119,96)
3660 LINE-(131,96)
3670 LINE-(133,115)
3680 DRAW "BM127,81;D2R2D14"
3690 LINE (119,20)-(119,26)
3700 LINE-(121,29)
3710 LINE-(118,37)
3720 LINE-(97,37)
3730 LINE (118,37)-(121,40)
3740 LINE-(121,54)
3750 LINE-(118,53)
3760 LINE-(117,54)
3770 LINE-(115,53)
3780 LINE-(97,53)
3790 LINE (121,53)-(123,56)
3800 LINE-(122,62)
3810 LINE-(125,66)
3820 LINE-(127,69)
3830 LINE-(127,81)
3840 LINE (105,66)-(125,66)
3850 LINE (143,25)-(136,32)
3860 DRAW "D2L2"
3870 LINE-(134,40)
3880 LINE-(137,51)
3890 LINE-(148,51)
3900 DRAW "D1R2"
3910 LINE (121,48)-(135,48)
3920 LINE (138,51)-(141,57)
3930 LINE-(137,65)
3940 LINE-(124,65)
3950 LINE (149,51)-(150,53)
3960 LINE-(151,56)
3970 LINE-(151,70)
3980 LINE-(149,73)
3990 LINE-(145,75)
4000 LINE-(143,78)
4010 LINE (137,65)-(145,81)
4020 DRAW "D3L3U2L14"
4030 LINE (142,84)-(137,97)
4040 DRAW "D1L6"
4050 LINE (137,97)-(139,100)
4060 LINE-(138,103)
4070 LINE-(140,108)
4080 LINE-(144,108)
4090 LINE-(145,113)
4100 LINE (139,90)-(168,90)
4110 LINE (149,90)-(148,112)
4120 DRAW "R4U4R8"
4130 LINE-(158,90)
4140 DRAW "BM159,109;R9U1R4"
4150 LINE (173,104)-(168,93)
4160 DRAW "D1L2"
4170 LINE-(169,89)
4180 DRAW "R5D1R6"
4190 LINE (180,90)-(183,93)
4200 DRAW "BM144,83;R4U1R41"
4210 LINE (158,90)-(160,87)
4220 LINE-(163,87)
4230 LINE-(168,82)
4240 LINE (149,73)-(150,74)
4250 LINE-(153,72)
4260 LINE-(154,72)
4270 LINE-(160,69)
4280 LINE-(160,54)
4290 LINE (160,67)-(161,69)
4300 LINE-(162,68)
4310 LINE-(165,70)
4320 LINE-(170,78)
4330 LINE-(173,78)
4340 LINE-(174,74)
4350 LINE-(177,73)
4360 LINE-(178,72)
4370 LINE-(181,71)
4380 LINE-(187,72)
4390 LINE-(189,77)
4400 LINE (163,81)-(168,78)
4410 LINE (136,31)-(140,30)
4420 LINE-(144,34)
4430 LINE-(146,34)
4440 LINE-(148,40)
4450 LINE-(151,38)
4460 LINE-(149,44)
4470 LINE-(148,51)
4480 LINE (142,31)-(150,27)
4490 LINE-(149,30)
4500 LINE-(152,31)
4510 LINE-(156,29)
4520 LINE-(159,33)
4530 LINE-(155,34)
4540 LINE-(150,35)
4550 LINE-(149,39)
4560 LINE (159,33)-(155,37)
4570 LINE-(153,43)
4580 LINE-(153,47)
4590 LINE-(150,53)
4600 LINE (157,35)-(161,37)
4610 DRAW "D7R2U3"
4620 LINE-(165,42)
4630 LINE-(166,47)
4640 LINE (150,54)-(169,54)
4650 LINE-(176,50)
4660 LINE-(176,47)
4670 LINE-(183,44)
4680 LINE-(184,42)
4690 LINE (172,52)-(172,68)
4700 LINE-(191,68)
4710 LINE-(194,69)
4720 LINE-(194,72)
4730 DRAW "BM189,68;D3R6"
4740 LINE (172,64)-(169,67)
4750 LINE-(164,70)
4760 DRAW "BM175,68;D4R5"
4770 DRAW "BM175,51;D4R13"
4780 LINE-(193,58)
4790 DRAW "R4U9R2U12"
4800 LINE (192,58)-(191,63)
4810 LINE-(193,64)
4820 LINE-(191,68)
4830 LINE (197,51)-(209,51)
4840 LINE-(210,54)
4850 LINE (205,51)-(205,57)
4860 LINE (199,46)-(207,47)
4870 LINE-(210,44)
4880 LINE (204,36)-(205,39)
4890 LINE-(203,43)
4900 LINE-(203,47)
4910 LINE (209,32)-(208,35)
4920 LINE-(209,43)
4930 LINE-(210,43)
4940 LINE (202,60)-(209,58)
4950 LINE-(210,60)
4960 LINE-(206,61)
4970 LINE-(202,60)
4980 ' ***** Choose state to be displayed and color it in *****
4990 IF NP>53 THEN 5500
5000 IF GS=2 AND NP>48 THEN 5500
5010 X = RND*53 :IF IC(X)=1 THEN 5010
5020 IF GS=2 AND X>48 THEN 5010
5030 IF X = 35 THEN GOSUB 5480
5040 IC(X)=1:PAINT (S1(X),S2(X)),1,3
5050 IF V=0 THEN V=1 ELSE V=0
5060 SCREEN 1
5070 A1=8:A2=152
5080 PUT(A1+8,A2),AA,PSET
5090 ' ***** Scan keyboard to determine which key has been pressed *****
5100 A$=INKEY$:IF A$="" THEN 5100
5110 BETA = VAL(RIGHT$(TIME$,2)):RANDOMIZE(BETA):WW=RND
5120 PUT(A1+8,A2),ER,PSET
5130 IF A$=CHR$(13)THEN 5160
5140 GOSUB 1910
5150 GOTO 5080
5160 TF=TF+1: PUT (A1+8,A2),ZZ:IF GS = 2 THEN 5870
5170 IF S$(X) = B$ THEN 5280
5180 A1=135:A2=152
5190 GOSUB 5980
5200 GOSUB 5780
5210 A1=8:A2=172
5220 GOSUB 5810
5230 A1=135:A2=172
5240 GOSUB 5740
5250 FOR SA=1 TO 1000: NEXT SA
5260 CLS
5270 GOTO 2250
5280 A1=135:A2=152
5290 GOSUB 6010
5300 GOSUB 5840
5310 A1=135:A2=172:GOSUB 5740
5320 FOR SA = 1 TO 555:NEXT SA
5330 B$="":A$=""
5340 TC=TC+1
5350 CLS
5360 GOTO 2250
5370 ' ***** Data for States and their location on the screen *****
5380 DATA SOUTH CAROLINA, 176,98, GEORGIA,164,100,FLORIDA,172,116,KENTUCKY,160,76,TENNESSEE,160,84,ALABAMA,152,100
5390 DATA MISSISSIPPI,144,100,ARKANSAS,132,88,LOUISIANA,136,108,OKLAHOMA,120,88,TEXAS,116,108,MONTANA,80,32,IDAHO,64,44
5400 DATA WYOMING, 88,52,COLORADO,92,72,NEW MEXICO,92,92,ARIZONA,76,92,UTAH,76,72,NEVADA,60,72,WASHINGTON,48,28
5410 DATA OREGON,48,44,CALIFORNIA,44,80,MAINE,212,32,MASSACHUSETTS,204,48,NEW HAMPSHIRE,204,44,VERMONT,200,40
5420 DATA RHODE ISLAND,208,52,CONNECTICUT,200,52,NEW YORK,188,48,NEW JERSEY,196,64,PENNSYLVANIA,184,64
5430 DATA OHIO,164,60,INDIANA,156,60,ILLINOIS,144,60,MICHIGAN,160,48,WISCONSIN,140,40
5440 DATA MINNESOTA,128,36,IOWA,128,56,MISSOURI,132,72,NORTH DAKOTA,108,28,SOUTH DAKOTA,108,44,NEBRASKA,108,60
5450 DATA KANSAS,108,76,DELAWARE,192,70,MARYLAND,184,70,VIRGINIA,180,76,WEST VIRGINIA,172,72,NORTH CAROLINA,176,84
5460 DATA LAKE ONTARIO,180,44,LAKE SUPERIOR,148,24,LAKE MICHIGAN,152,36,LAKE HURON,164,36,LAKE ERIE,170,52
5470 ' ***** Additional paint statement to complete Michigan *****
5480 PAINT (148,32),1,3
5490 ' ***** Game over, calculate score and see if another game is wanted *****
5500 FOR X=1 TO 1000:NEXT X:CLS:PRINT :PRINT TAB(5) "YOUR TEST IS FINISHED."
5510 PRINT :PRINT TAB(6) "TOTAL QUESTIONS =";TF
5520 PRINT :PRINT TAB(7) "YOUR SCORE IS"INT((TC/NR)*100);"%"
5530 IF NP>53 THEN 5600
5540 IF GS=2 AND NP>48 THEN 5600
5550 PRINT :PRINT TAB(8) "TRY AGAIN (Y/N)?";
5560 D$=INKEY$: IF D$=""THEN 5560
5570 IF D$="Y" THEN 5580 ELSE 5600
5580 CLS:NP=NP-1:NO = 0:V=0:NQ=10
5590 GOTO 1870
5600 SCREEN 0,0,0 :WIDTH 80:LOCATE 8,30:PRINT  "GAME IS OVER.":PRINT :PRINT TAB(28) "SEE YOU LATER !!!":LOCATE 23,1
5610 END
5620 PUT (A1,A2),ZZ: A1=A1-8
5630 PUT (A1,A2),ZZ
5640 IF B$=""THEN RETURN
5650 L = LEN(B$)-1:C$=LEFT$(B$,L):B$=C$
5660 A1=A1-8
5670 B$=C$: RETURN
5680 ' ***** Data statements for capitals *****
5690 DATA COLUMBIA, ALANTA,TALLAHASSEE,FRANKFORT,NASHVILLE,MONTGOMERY,JACKSON,LITTLE ROCK,BATON ROUGE,OKLAHOMA CITY,AUSTIN,HELENA,BOISE
5700 DATA CHEYENNE,DENVER,SANTA FE, PHOENIX, SALT LAKE CITY,CARSON CITY,OLYMPIA,SALEM,SACRAMENTO,AUGUSTA,BOSTON,CONCORD,MONTPELIER
5710 DATA PROVIDENCE,HARTFORD,ALBANY,TRENTON,HARRISBURG,COLUMBUS,INDIANAPOLIS,SPRINGFIELD,LANSING,MADISON,ST. PAUL,DES MOINES,JEFFERSON CITY
5720 DATA BISMARK, PIERRE,LINCOLN,TOPEKA,DOVER,ANNAPOLIS,RICHMOND,CHARLESTON,RALEIGH
5730 DATA " "," "," "," "," "
5740 L=LEN(SC$(X)):FOR T=1 TO L:A$=MID$(SC$(X),T,1):GOSUB 1910
5750 NEXT T
5760 RETURN
5770 RETURN
5780 L=LEN(J$):FOR T=1 TO L:A$=MID$(J$,T,1):GOSUB 1910
5790 NEXT T
5800 RETURN
5810 L=LEN(S$(X)):FOR T=1 TO L:A$=MID$(S$(X),T,1):GOSUB 1910
5820 NEXT T
5830 RETURN
5840 L=LEN(H$): FOR T=1 TO L:A$ = MID$(H$,T,1):GOSUB 1910
5850 NEXT T
5860 RETURN
5870 IF SC$(X)=B$ THEN 5940
5880 A1=135:A2=152
5890 GOSUB 5980
5900 GOSUB 5780
5910 A1=8:A2=172:GOSUB 5740
5920 A1=135:A2=172:GOSUB 5810
5930 GOTO 5250
5940 GOSUB 6010:A1=135:A2=152:GOSUB 5840
5950 A1=135:A2=172:GOSUB 5810
5960 GOTO 5320
5970 PUT(A1,A2),ZZ:A1=A1+2:PSET(A1,A4):PSET(A1,A4-1):PSET(A1+1,A4):PSET(A1+1,A4-1):A1=A1-4:A3=A3-4:GOTO 1880
5980 PLAY"O2L2CP55L4CCL2CL4D#L4DDCCO1BO2L2C"
5990 ' ***** Play tunes for right or wrong answer *****
6000 RETURN
6010 PLAY"L8O3CO2AL4FAO3CL2FL8AGL4FO2ABO3L4C":RETURN
6020 A$ = INKEY$
6030 IF A$="" THEN 6040
6040 SCREEN 0,0,0
6050 WIDTH 80
6060 CLS':LIST 3880-3920
AGL4FO2ABO3L4C":RETURN
6020 A$ = INKEY$
6030