10 PRINT:PRINT "THIS PROGRAM TESTS YOUR ABILITY TO NAME THE 50"
20 PRINT "STATES AND THEIR CAPITALS":PRINT
100 REM STATES AND CAPITALS QUIZ PROGRAM
110 REM BY DAVE ALVERSON JULY, 1977
115 STRSIZ 30
120 DIM A(50),C$(50),S$(50)
130 REM READ IN STATE AND CAPITAL ARRAYS
140 FOR I=1 TO 50
150 READ S$(I),C$(I)
155 NEXT I
160 FOR I= 1 TO 50: A(I)=0:NEXT I: G=0: N=0
170 PRINT "YOU HAVE YOUR CHOICE OF FILL-IN OR MULTIPLE CHOICE"
180 INPUT "WOULD YOU LIKE TO FILL IN THE ANSWERS? ",Z$
190 IF Z$[1,1]="Y" THEN 230
200 PRINT "MULTIPLE CHOICE - ANSWER EACH QUESTION WITH 1,2,3, OR 4"
210 X=1: PRINT "TO STOP TYPE 0 FOR YOUR ANSWER"
220 GOTO 250
230 PRINT "FILL-IN - YOU MUST SPELL EXACTLY! (SAINT IS ABBREVIATED ST.)"
240 X=2: PRINT "TO STOP, TYPE S FOR YOUR ANSWER"
250 PRINT
260 PRINT "YOU HAVE YOUR CHOICE OF WHETHER THE STATE OR THE CAPITAL IS ASKED"
270 INPUT "WOULD YOU LIKE TO ANSWER WITH THE CAPITAL? ";Z$
280 Y=2
290 IF Z$[1,1]="Y" THEN Y=1
300 RANDOMIZE:PRINT:PRINT
310 REM PICK A STATE
320 FOR I=1 TO 10
330 R=INT(50*RND(0))+1
340 IF A(R)<>2 THEN 400
350 NEXT I
360 REM DON'T WASTE TIME PICKING ONE
370 FOR R=1 TO 50
380 IF A(R)<>2 THEN 400
390 NEXT R: GOTO 850
400 IF A(R)=1 THEN PRINT "TRY THIS ONE AGAIN"
410 IF X=1 THEN 520
420 REM THIS SECTION ASKS FOR FILL-IN ANSWERS
430 IF Y=2 THEN 470
440 A$=C$(R)
450 PRINT "WHAT IS THE CAPITAL OF ";S$(R)
460 GOTO 490
470 A$=S$(R)
480 PRINT C$(R);" IS THE CAPITAL OF";
490 INPUT Z$
500 IF LEN(Z$)=1 THEN 810
510 IF Z$=A$ THEN 770
515 GOTO 760
520 REM THIS SECTION ASKS MULTIPLE QUESTIONS
530 REM THE VALUE OF C IS THE CORRECT ANSWER
540 C=INT(4*RND(0))+1
550 REM PICK FOUR STATES FOR THE CHOICES
560 FOR I=1 TO 4
570 B(I)=INT(50*RND(0))+1
580 NEXT I
590 B(C)=R
600 REM MAKE SURE NONE ARE THE SAME
610 IF B(1)=B(2) OR B(1)=B(3) OR B(1)=B(4) THEN 560
620 IF B(2)=B(3) OR B(2)=B(4) OR B(3)=B(4) THEN 560
630 IF Y=2 THEN 690
640 REM PRINT CAPITAL CHOICES
650 PRINT "1.";C$(B(1));TAB(20);"3.";C$(B(3))
660 PRINT "2.";C$(B(2));TAB(20);"4.";C$(B(4))
670 PRINT "THE CAPITAL OF ";S$(R);" IS";
680 GOTO 730
690 REM PRINT STATE CHOICES
700 PRINT "1.";S$(B(1));TAB(20);"3.";S$(B(3))
710 PRINT "2.";S$(B(2));TAB(20);"4.";S$(B(4))
720 PRINT C$(R);" IS THE CAPITAL OF";
730 INPUT Z:Z=INT(ABS(Z))
740 IF Z<1 OR Z>4 THEN 810
750 IF Z=C THEN 770
760 A(R)=1:PRINT "WRONG";: GOTO 790
770 A(R)=2:N=N+1
780 PRINT "RIGHT!";
790 G=G+1:?" You have";N;"correct";:IF G>1 AND G#N THEN ?" out of";G;"guesses." ELSE ?
795 PRINT
800 IF N<50 GOTO 310
805 GOTO 850
810 INPUT "DO YOU WANT TO STOP? ",Z$
820 IF Z$[1,1]="Y" THEN 850
830 PRINT "YOUR ANSWER FOR LAST QUESTION";
840 ON X GOTO 730,490
850 PRINT
860 PRINT "YOU GOT";N;"RIGHT IN";G;"GUESSES"
870 INPUT "WOULD YOU LIKE TO TRY AGAIN? ",Z$
880 IF Z$[1,1]="Y" THEN PRINT:GOTO 160
885 PRINT  "I HOPE YOU HAD A GOOD TIME"
886 GOTO 1999
890 DATA "ALABAMA","MONTGOMERY","ALASKA","JUNEAU","ARIZONA"
900 DATA "PHOENIX","ARKANSAS","LITTLE ROCK","CALIFORNIA"
910 DATA "SACRAMENTO","COLORADO","DENVER","CONNECTICUT","HARTFORD"
920 DATA "DELEWARE","DOVER","FLORIDA","TALLAHASSEE","GEORGIA"
930 DATA "ATLANTA","HAWAII","HONOLULU","IDAHO","BOISE","ILLINOIS"
940 DATA "SPRINGFIELD","INDIANA","INDIANAPOLIS","IOWA"
950 DATA "DES MOINES","KANSAS","TOPEKA","KENTUCKY","FRANKFORT"
955 DATA "LOUISIANA","BATON ROUGE","MAINE","AUGUSTA","MARYLAND"
960 DATA "ANNAPOLIS","MASSACHUSETTS","BOSTON","MICHIGAN"
965 DATA "LANSING","MINNESOTA","ST. PAUL","MISSISSIPPI","JACKSON"
970 DATA "MISSOURI","JEFFERSON CITY","MONTANA","HELENA","NEBRASKA"
975 DATA "LINCOLN","NEVADA","CARSON CITY","NEW HAMPSHIRE"
980 DATA "CONCORD","NEW JERSEY","TRENTON","NEW MEXICO","SANTE FE"
985 DATA "NEW YORK","ALBANY","NORTH CAROLINA","RALEIGH"
990 DATA "NORTH DAKOTA","BISMARK","OHIO","COLUMBUS","OKLAHOMA"
995 DATA "OKLAHOMA CITY","OREGON","SALEM","PENNSYLVANIA"
1000 DATA "HARRISBURG","RHODE ISLAND","PROVIDENCE","SOUTH CAROLINA"
1010 DATA "COLUMBIA","SOUTH DAKOTA","PIERRE","TENNESSEE"
1020 DATA "NASHVILLE","TEXAS","AUSTIN","UTAH","SALT LAKE CITY"
1030 DATA "VERMONT","MONTPELIER","VIRGINIA","RICHMOND","WASHINGTON"
1040 DATA "OLYMPIA","WEST VIRGINIA","CHARLSTON","WISCONSON"
1050 DATA "MADISON","WYOMING","CHEYENNE"
1999 END