' \------------------------------------------------------------/
' | P I O N E E R - Copyright Aug 1986 by Martin Mathis |
' | ============= 6 Geibel Street |
' | ----------- requires 512K 8037 Zurich |
' | _________ and Kick 1.1 Switzerland |
' | |
' | With a little help from the 1986 Rand McNally Road Atlas |
' /------------------------------------------------------------\
CLS:CLEAR,30000:RANDOMIZE TIMER:OPTION BASE 1
DIM s$(50,5),abc$(50),abc(50),xpos(50),ypos(50),w(50),e(50),n(50),s(50),xtr(89),ytr(89),lct$(89)
usa=3539341&:clr$=">"+STRING$(22," "):clr1$="A:"+STRING$(22," ")
SCREEN 1,320,200,2,1:WINDOW 1,"",(0,0)-(311,185),16,1
PALETTE 0,.3,.2,1:PALETTE 1,.33,.87,0:PALETTE 2,.95,.25,0:PALETTE 3,.3,.2,1
babble "i'll be right up."
FOR i=1 TO 50:FOR j=1 TO 5:READ s$(i,j):NEXT:abc$(i)=s$(i,1):abc(i)=VAL(s$(i,5))
IF s$(i,4)="s" THEN s$(i,4)=s$(i,3)
NEXT:shell=25
shell: array=0:FOR i=1 TO 50-shell
IF abc(i)<abc(i+shell) THEN SWAP abc$(i),abc$(i+shell):SWAP abc(i),abc(i+shell):array=1
NEXT:IF array=1 THEN shell
shell=INT(shell/2):IF shell>=1 THEN shell
RESTORE FillDat:FOR i=1 TO 50:READ xpos(i),ypos(i):NEXT
RESTORE PickDat:FOR i=1 TO 50:READ w(i),e(i),n(i),s(i):NEXT
x2=62:y2=37:RESTORE USBorderDat:GOSUB DrawUS
COLOR 2,0:LOCATE 3,10:h$="Welcome to the":p$="U.S.A."
FOR i=1 TO 14:FOR j=1 TO 3:LOCATE j,8+i:PRINT MID$(h$,i,1)
IF j>1 THEN LOCATE j-1,8+i:PRINT " "
FOR k=0 TO 74:NEXT k,j,i:RESTORE StateBorderDat:GOSUB DrawState
x2=40:y2=124:RESTORE AKDat:GOSUB DrawAK
FOR i=50 TO 1 STEP -1:PAINT(xpos(i),ypos(i)),1,3
IF i=11 THEN c=1:GOSUB 98
IF i=22 THEN c=1:GOSUB 99
NEXT:FOR i=1 TO 0 STEP -.002:PALETTE 3,i/3,i/5,i:NEXT
FOR i=1 TO 6:FOR j=1 TO 5:LOCATE j,24+i:PRINT MID$(p$,i,1)
IF j>1 THEN LOCATE j-1,24+i:PRINT " "
FOR k=0 TO 124:NEXT k,j,i
babble "this is the gaim. off py.onier.":GOSUB clr:LOCATE 5,25:PRINT STRING$(6," ")
RESTORE TrackDat:FOR i=1 TO 89:READ xtr(i),ytr(i),lct$(i):NEXT
MainMenu:
WINDOW 2," P I O N E E R",(15,20)-(142,52),0,1:COLOR 2,0:WINDOW OUTPUT 2
PRINT "F1 Atlas Mode":PRINT "F2 One Pioneer"
PRINT "F3 Some Pioneers":PRINT "F4 Quit";:babble "pleez select"
key1:
b$=INKEY$:IF b$<CHR$(129) OR b$>CHR$(132) THEN key1
ON ASC(b$)-128 GOTO Atlas,Pion1,Some,Kwit
Atlas:
WINDOW CLOSE 2:WINDOW OUTPUT 1:c$=""
IF tgl=0 THEN babble "at.lass mode":tgl=1
LOCATE 1,14:COLOR 2,3:PRINT "Atlas mode":COLOR 2,0
3 LOCATE 3,1:PRINT "> "c$;
b$=INKEY$:GOSUB Pick:nogo=0:babble x$:IF b$=CHR$(13) AND c$<>"" THEN 4
IF b$=CHR$(8) AND c$<>"" THEN c$=LEFT$(c$,LEN(c$)-1):LOCATE 3,1:PRINT clr$:GOTO 3
IF b$=CHR$(27) THEN tgl=0:GOSUB clr:GOTO MainMenu
IF b$>="0" AND b$<="9" AND VAL(c$+b$)<51 AND LEN(c$)<2 THEN c$=c$+b$:GOTO 3
IF (b$<"A" OR b$>"z") AND b$<>" " AND b$<>"." THEN 3
c$=c$+UCASE$(b$):IF LEN(c$)>19 THEN c$="":LOCATE 3,1:PRINT clr$
GOTO 3
4 IF UCASE$(c$)="PORTLAND" THEN port=1
IF VAL(c$)>0 AND VAL(c$)<51 THEN c$=abc$(VAL(c$))
FOR i=1 TO 50:FOR j=1 TO 4
IF UCASE$(s$(i,j))=UCASE$(c$) THEN ii=i:jj=j:GOTO 5
NEXT j,i:babble "unnown data, try again.":GOSUB clr:GOTO Atlas
5 x$=s$(ii,1)+","+s$(ii,2):PAINT(xpos(ii),ypos(ii)),2,3
IF ii=11 THEN c=2:GOSUB 98
IF ii=22 THEN c=2:GOSUB 99
GOTO StateInfo
Pion1:
didit=0:e$="":d$="questions":xdc=242:ydc=93:curloc$="Washington DC":CLS
PRINT:PRINT " Choose level":PRINT " (1-9) ?"
10 b$=INKEY$
IF b$<"1" OR b$>"9" THEN 10 ELSE CLS:PRINT:PRINT " Level chosen":PRINT SPACE$(6)"("b$")"
lev=VAL(b$):e$="easy ":xd=194:yd=82:dest$="Mid West":mile=860:pstep=61.46:frm=1:tom=14
IF lev>3 THEN
e$=e$+"and meedium ":xd=157:yd=135:dest$="South":mile=1490:pstep=55.19:frm=15:tom=41
END IF
IF lev>6 THEN
e$=e$+"and hard ":xd=61:yd=120:dest$="West Coast":mile=2950:pstep=61.43:frm=42:tom=89
END IF
IF lev=1 OR lev=4 OR lev=7 THEN jsm=1.3
IF lev=2 OR lev=5 OR lev=8 THEN jsm=1.2
IF lev=3 OR lev=6 OR lev=9 THEN jsm=1.1
points=tom-frm+1:abspts=INT(points*jsm+.5):e$=e$+d$:babble e$:WINDOW CLOSE 2:WINDOW OUTPUT 1
mtg=mile:LOCATE 2,3:COLOR 2:PRINT "Your destination is the "dest$"."
LOCATE 4,3:COLOR 1:PRINT "You start from Washington D.C.":FOR i=0 TO 2
FOR j=0 TO 2:CIRCLE(xdc,ydc),j,3:CIRCLE(xd,yd),j,3:NEXT:FOR k=0 TO 999:NEXT
FOR j=0 TO 2:CIRCLE(xdc,ydc),j,2:CIRCLE(xd,yd),j,2:NEXT:FOR k=0 TO 999:NEXT k,i
babble "try to make it from washington dc to the "+dest$:curloc=frm-1
lev=INT(lev/3+.9):town$(1)="Chicago":town$(2)="Dallas":town$(3)="Los Angeles"
cmnt$(1)="not getting killed by Al Capone.":cmnt$(2)="competing with J.R. Ewing."
cmnt$(3)="messing with illegal aliens.":cmnt$(4)="getting into Hollywood's society."
GameLoop:
FOR i=0 TO 9:b$=INKEY$:NEXT
IF curloc>=frm THEN
FOR i=1 TO 50:IF lct$(curloc)=s$(i,2) THEN curloc$=s$(i,1):ii=i
NEXT
END IF
GOSUB StatLin
question=INT(RND(1)*lev)+1:ON question GOSUB easy,medium,hard
IF question=3 THEN question=4
IF q1=0 AND question=1 THEN GOSUB EasPick:GOTO 20
c$="":GOSUB GetAnswer:r1$=c$:eas=0
20 GOSUB Check
abspts=abspts-question:IF ans=1 THEN
babl=INT(RND(1)*4)
IF babl=0 THEN babble "yoo are right"
IF babl=1 THEN babble "that's correct"
IF babl=2 THEN babble "you've got that one."
IF babl=3 THEN babble "good job."
points=points-question:mile=mile-question*pstep:curloc=curloc+question
IF curloc>tom THEN curloc=tom
FOR i=frm TO curloc:PSET(xtr(i),ytr(i)),2:SOUND RND*500+90,1:NEXT
curloc$=lct$(curloc):IF curloc$="D" THEN mile=0:didit=1:curloc$=dest$:GOSUB StatLin:GOTO Gover
GOTO GameLoop
END IF
IF b$<>CHR$(139) THEN babble "oops."
IF eas=0 THEN
LOCATE 4,1:COLOR 3:PRINT "The right answer is ";:COLOR 2
PRINT r$;:COLOR 3:PRINT ".":FOR i=0 TO 6999:NEXT
END IF
IF abspts<=0 THEN didit=0:GOSUB StatLin:GOTO Gover
GOTO GameLoop
Gover:
LOCATE 3,12:COLOR 2,3:PRINT "The Game is Over":babble "game over"
FOR i=0 TO 7999:NEXT:GOSUB clr
IF didit=0 THEN
IF curloc >=frm THEN:FOR j=0 TO 1:CIRCLE(xtr(curloc),ytr(curloc)),j,2:NEXT
LOCATE 1,1:COLOR 1:PRINT "You didn't make it to your destination."
COLOR 0:PRINT "You wind up in ";:COLOR 2:PRINT curloc$;:COLOR 0
PRINT " after":COLOR 2:PRINT INT(mtg-mile);:COLOR 0:PRINT "miles (";
COLOR 2:PRINT STR$(INT((mtg-mile)/mtg*100+.5))"% ";:COLOR 0:PRINT "), where you"
job=INT(RND(1)*5):IF job=0 THEN PRINT "build a log cabin and become a hunter."
IF job=1 THEN PRINT "get into the lumberjack business."
IF job=2 THEN PRINT "build a house and start farming."
IF job=3 THEN PRINT "settle down and raise a family."
IF job=4 THEN PRINT "die lonely a couple of years later."
babble "well, that's tough luck, py.onier.":GOTO Cindy
END IF
LOCATE 1,1:COLOR 1:PRINT "You made it to the "dest$" !!!"
COLOR 0:PRINT "You build the town of ";:COLOR 2:PRINT town$(lev)
COLOR 0:PRINT "where you have a hard time":IF lev=3 AND RND(1)<.5 THEN lev=4
PRINT cmnt$(lev):FOR i=0 TO 3999:NEXT
babble "you are faimous and rich, py.onier."
Cindy:
babble "hit any key to continue."
FOR i=0 TO 9:a$=INKEY$:NEXT
30 a$=INKEY$:FOR i=frm TO curloc:PSET(xtr(i),ytr(i)),2:NEXT
FOR i=frm TO curloc:PSET(xtr(i),ytr(i)),3:NEXT
IF a$="" THEN 30
COLOR 1,0:CLS:x2=62:y2=37:RESTORE USBorderDat:GOSUB DrawUS
RESTORE StateBorderDat:GOSUB DrawState:x2=40:y2=124:RESTORE AKDat
GOSUB DrawAK:FOR i=50 TO 1 STEP -1:PAINT(xpos(i),ypos(i)),1,3
IF i=11 THEN c=1:GOSUB 98
IF i=22 THEN c=1:GOSUB 99
NEXT:GOTO MainMenu
StatLin:
GOSUB clr:COLOR 0,1:FOR i=1 TO 40:LOCATE 1,i:PRINT " ":NEXT
LOCATE 1,2:PRINT "Loc: "curloc$:LOCATE 1,21
PRINT "/ "MID$(STR$(INT(mile+.5)),2,LEN(STR$(INT(mile+.5)))-1)" miles to go"
RETURN
Pion2:
round=round+1:p2=1:FOR g=1 TO p:r1$="":IF sta>49 THEN GameOver
COLOR 2,3:LOCATE 1,1:PRINT "Round"round:PRINT "Pioneer "p$(g)" >":COLOR 1,0
babble "your turn "+p$(g)
7 IF MOUSE(0)<>0 THEN 7
FOR i=0 TO 9:b$=INKEY$:NEXT
8 b$=INKEY$:IF b$=CHR$(27) AND g=1 AND round>1 THEN
round=round-1:babble "game aborted after"+STR$(round)+" rounds":GOTO GameOver
END IF
GOSUB Pick:IF nogo=1 THEN nogo=0:babble x$:GOTO 8
h=ii:are=VAL(s$(h,5)):GOSUB clr:COLOR 2,3:LOCATE 1,1:PRINT s$(h,1)
GOSUB easy:IF q1=0 THEN GOSUB EasPick
c$="":IF q1>0 THEN GOSUB GetAnswer:r1$=c$:eas=0
GOSUB Check:IF ans=0 THEN nay
IF are>9200 THEN
babble "alrite, but there's more to answer"
GOSUB clr:COLOR 2,3:LOCATE 1,1:PRINT s$(h,1)
GOSUB medium:c$="":GOSUB GetAnswer:r1$=c$:GOSUB Check:eas=0:IF ans=0 THEN nay
END IF
IF are>59000& THEN
babble "really, you're getting closer"
GOSUB clr:COLOR 2,3:LOCATE 1,1:PRINT s$(h,1)
GOSUB medium:c$="":GOSUB GetAnswer:r1$=c$:GOSUB Check:eas=0:IF ans=0 THEN nay
END IF
IF are>130000& THEN
babble "yes, but the last question is a hard one."
GOSUB clr:COLOR 2,3:LOCATE 1,1:PRINT s$(h,1)
GOSUB hard:c$="":GOSUB GetAnswer:r1$=c$:GOSUB Check:eas=0:IF ans=0 THEN nay
END IF
yup:
babble "o.k! you won the state."
sta=sta+1:score(g)=score(g)+are:sta(g)=sta(g)+1:GOTO GoOn
nay:
IF b$<>CHR$(139) THEN babble "nope"
PAINT(xpos(h),ypos(h)),1,3
IF h=11 THEN c=1:GOSUB 98
IF h=22 THEN c=1:GOSUB 99
IF eas=0 THEN
COLOR 2,0:LOCATE 4,1:PRINT "The correct answer is ";:COLOR 1:PRINT r$;:COLOR 2:PRINT "."
END IF
GoOn:
GOSUB Windw:GOSUB clr:NEXT:GOTO Pion2
GameOver:
GOSUB clr:COLOR 2,3:LOCATE 2,14:PRINT "GAME OVER":COLOR 3,0:LOCATE 3,13
PRINT round"Rounds":babble"gaim over":wind=1:g=1
WINDOW 2,p$(1),(5,13)-(170,73),16,1:WINDOW OUTPUT 2:GOSUB wind
WINDOW 3,p$(2),(136,30)-(306,90),16,1:WINDOW OUTPUT 3:GOSUB wind
IF p>2 THEN WINDOW 4,p$(3),(5,103)-(170,163),16,1:WINDOW OUTPUT 4:GOSUB wind
IF p>3 THEN WINDOW 5,p$(4),(136,120)-(306,180),16,1:WINDOW OUTPUT 5:GOSUB wind
WINDOW 6," Pioneers' Hall of Fame",(60,40)-(250,160),19,1:WINDOW OUTPUT 6
SOUND 1100,6:FOR i=1 TO p:per$=STR$(score(i)):GOSUB Percentage
score(i)=VAL(per$):ttl(i)=sta(i)*score(i):NEXT
FOR i=1 TO p-1:FOR j=i TO p
IF ttl(i)<ttl(j) THEN
SWAP p$(i),p$(j):SWAP ttl(i),ttl(j):SWAP sta(i),sta(j):SWAP score(i),score(j)
END IF
NEXT j,i
FOR i=1 TO p:IF i=1 THEN COLOR 2,3 ELSE COLOR 1,3
PRINT:PRINT STR$(i)". "p$(i)" ":COLOR 2,0:PRINT sta(i)"X"score(i)"="ttl(i)
NEXT:COLOR 1,0:PRINT:PRINT "Hit any key to continue";
FOR i=0 TO 9:b$=INKEY$:NEXT
11 b$=INKEY$:IF b$="" THEN 11
FOR i=2 TO 6:WINDOW CLOSE i:NEXT:WINDOW OUTPUT 1:COLOR 1,0:GOSUB clr:wind=0
FOR i=50 TO 1 STEP -1:PAINT(xpos(i),ypos(i)),1,3
IF i=11 THEN c=1:GOSUB 98
IF i=22 THEN c=1:GOSUB 99
NEXT:p2=0:GOTO MainMenu
GetAnswer:
COLOR 3,0:LOCATE 3,1:PRINT clr1$:COLOR 1,0:LOCATE 3,3:PRINT c$
ga:
b$=INKEY$:IF b$=CHR$(13) AND c$<>"" THEN RETURN
IF b$=CHR$(139) THEN c$="":eas=0:babble "help":RETURN
IF b$=CHR$(8) AND c$<>"" THEN c$=LEFT$(c$,LEN(c$)-1):GOTO GetAnswer
IF (b$>"z" OR b$<"0") AND b$<>" " AND b$<>"." GOTO ga
c$=c$+UCASE$(b$):IF LEN(c$)>19 THEN c$=""
GOTO GetAnswer
Check:
ans=0:IF port=1 AND (UCASE$(r1$)="OREGON" OR UCASE$(r1$)="MAINE") THEN ans=1:port=0
IF UCASE$(r$)=UCASE$(r1$) THEN ans=1
IF hard=0 THEN RETURN
hard=0:IF q1=0 THEN
r1=VAL(r$):r2=VAL(r1$):rl=r1-r1/100*15:rh=r1+r1/100*15
IF rl<=r2 AND r2<=rh THEN ans=1:RETURN
END IF
IF q1=1 THEN
FOR i=1 TO 50:IF UCASE$(abc$(i))=UCASE$(r1$) THEN ii=i
NEXT:IF ii=VAL(ar$) THEN ans=1
END IF
RETURN
EasPick:
r1$=""
9 IF MOUSE(0)<>1 THEN 9
x=MOUSE(3):y=MOUSE(4):FOR i=1 TO 50
IF x>w(i) AND x<e(i) AND y>n(i) AND y<s(i) THEN r1$=s$(i,1)
NEXT:IF r1$="" THEN 9
LOCATE 3,3:PRINT r1$:eas=1:RETURN
Windw:
WINDOW 2,p$(g),(g*30,35+g*18)-(170+g*30,100+g*18),0,1:WINDOW OUTPUT 2
wind:
COLOR 3,0:PRINT "States owned:":COLOR 2:PRINT sta(g)
COLOR 3:PRINT "Area owned in sq.mi.:":COLOR 2:PRINT score(g)
COLOR 3:PRINT "Land area of USA:":COLOR 2:per$=STR$(score(g))
GOSUB Percentage:PRINT " "per$" %";
IF wind=1 THEN
PRINT:PRINT INT(sta(g)/round*1000)/1000"States/turn";
g=g+1:SOUND g*200,4:FOR i=0 TO 2999:NEXT:RETURN
END IF
COLOR 1:PRINT:PRINT:PRINT "Hit SPACE";
FOR i=0 TO 9:b$=INKEY$:NEXT
key3:
b$=INKEY$:IF b$<>" " AND MOUSE(0)<>1 THEN key3
WINDOW CLOSE 2:WINDOW OUTPUT 1:RETURN
Some:
CLS:PRINT:PRINT "How many players"
PRINT " (2 to 4) ?"
key2:
b$=INKEY$:IF b$<"2" OR b$>"4" THEN key2
p=VAL(b$):babble b$+" py.oniers."
CLS:PRINT "Enter names :"
FOR i=1 TO p:babble "player"+STR$(i):INPUT p$(i):IF p$(i)="" THEN p$(i)="Player"+STR$(i)
p$(i)=UCASE$(LEFT$(p$(i),15)):score(i)=0:sta(i)=0:NEXT
WINDOW OUTPUT 1:WINDOW CLOSE 2
babble "all set. let's go."
round=0:sta=0:GOTO Pion2
StateInfo:
GOSUB clr:av=(w(ii)+e(ii))/2:ar=1
IF av>160 THEN WINDOW 2,x$,(8,25)-(140,98),0,1
IF av<161 THEN WINDOW 2,x$,(170,25)-(302,98),0,1
WINDOW OUTPUT 2
COLOR 3,0:PRINT "Capital:":COLOR 2:PRINT s$(ii,3)
COLOR 3:PRINT "Largest City:":COLOR 2:PRINT s$(ii,4)
COLOR 3:PRINT "Area in sq.mi.:":COLOR 2:PRINT s$(ii,5)" ";
FOR i=1 TO 50:IF abc$(i)=s$(ii,1) THEN ar=i
NEXT:PRINT "("ar")"
per$=s$(ii,5):GOSUB Percentage:PRINT per$"% of USArea"
COLOR 1:PRINT:PRINT "Hit SPACE";
FOR i=0 TO 9:b$=INKEY$:NEXT
6 b$=INKEY$:IF b$<>" " AND MOUSE(0)<>1 THEN 6
WINDOW CLOSE 2:WINDOW OUTPUT 1:PAINT(xpos(ii),ypos(ii)),1,3
IF ii=11 THEN c=1:GOSUB 98
IF ii=22 THEN c=1:GOSUB 99
IF port=1 THEN port=0:ii=37:GOTO 5
GOTO Atlas
Percentage:
a$=STR$(INT(VAL(per$)/usa*10000)/100):per$=RIGHT$(a$,LEN(a$)-1):RETURN
Pick:
x$="":i=0:s=0:IF MOUSE(0)=1 THEN
x=MOUSE(3):y=MOUSE(4):pt=POINT(x,y)
IF x<4 OR x>308 OR y<4 OR y>182 THEN Pick
IF pt=0 THEN x$="salt water. yuch!":nogo=1:RETURN
IF pt=3 THEN x$="watch the border patrol!":nogo=1:RETURN
IF pt=2 THEN x$="nice try kiddo!":nogo=1:RETURN
PAINT(x,y),2,3:FOR i=1 TO 50
IF x>w(i) AND x<e(i) AND y>n(i) AND y<s(i) THEN x$=s$(i,1)+","+s$(i,2):jj=1:ii=i:GOTO 1
NEXT:PAINT(x,y),1,3:nogo=1
1 IF i=11 THEN c=2:GOSUB 98
IF i=22 THEN c=2:GOSUB 99
IF nogo=1 OR p2=1 THEN RETURN
GOTO StateInfo
END IF
nogo=1:RETURN
easy:
q=INT(RND*50)+1:IF q=ii THEN easy
q1=INT(RND*3)
IF q1=0 THEN q$="Show me "+s$(q,1)+" on the map.":r$=s$(q,1)
IF q1=1 THEN q$="Mail code for "+s$(q,1)+"?":r$=s$(q,2)
IF q1=2 THEN q$="What state's "+s$(q,2)+" short for?":r$=s$(q,1)
GOTO qa
medium:
q=INT(RND*50)+1:IF q=ii THEN medium
q1=INT(RND*4)
IF q1=0 THEN q$=s$(q,4)+" is the largest city of?":r$=s$(q,1):IF s$(q,4)="Portland" THEN port=1
IF q1=1 THEN q$=s$(q,3)+" is the capital of?":r$=s$(q,1)
IF q1=2 THEN q$="What's the capital of "+s$(q,1)+"?":r$=s$(q,3)
IF q1=3 THEN q$="Largest city of "+s$(q,1)+" is?":r$=s$(q,4)
GOTO qa
hard:
q=INT(RND*50)+1:IF q=ii THEN hard
q1=INT(RND*2):hard=1
IF q1=0 THEN q$="Area of "+s$(q,1)+" (+/- 15%)?":r$=s$(q,5)
IF q1=1 THEN ar$=STR$(INT(RND*48)+2):q$="The"+ar$+". largest state ?":r$=abc$(VAL(ar$))
qa:
COLOR 3,0:LOCATE 2,1:PRINT "Q:";:COLOR 2,0:PRINT q$
COLOR 3,0:LOCATE 3,1:PRINT "A:";:COLOR 1,0:RETURN
Kwit:
WINDOW OUTPUT 1:WINDOW CLOSE 2
FOR i=0 TO 1 STEP .002:PALETTE 3,i/3,i/5,i:NEXT
FOR i=0 TO 1 STEP .004:PALETTE 1,.33,.87-i/1.43,i:NEXT
SYSTEM
clr:
LOCATE 1,1:FOR i=0 TO 3:PRINT STRING$(40," ")
NEXT:RETURN
DrawUS:
READ x1,y1:IF x1=-1 THEN RETURN
LINE(x1,y1)-(x2,y2),3:x2=x1:y2=y1:GOTO DrawUS
DrawState:
READ x1,y1,x2,y2:IF x1=-1 THEN RETURN
LINE(x1,y1)-(x2,y2),3:GOTO DrawState
DrawAK:
READ x1,y1:IF x1=-1 THEN RETURN
LINE(x1,y1)-(x2,y2),3:x2=x1:y2=y1:GOTO DrawAK
98 PAINT(78,143),c,3:PAINT(69,138),c,3:PAINT(98,168),c,3:PAINT(94,158),c,3:RETURN
99 PAINT(205,75),c,3:PAINT(195,60),c,3:RETURN
GeoData:
DATA Alabama,AL,Montgomery,Birmingham,50766,Alaska,AK,Juneau,Anchorage,570833
DATA Arizona,AZ,Phoenix,s,113510,Arkansas,AR,Little Rock,s,53187
DATA California,CA,Sacramento,Los Angeles,156297,Colorado,CO,Denver,s,103598
DATA Connecticut,CT,Hartford,Bridgeport,4872,Delaware,DE,Dover,Wilmington,1933
DATA Florida,FL,Tallahassee,Jacksonville,54157,Georgia,GA,Atlanta,s,58060
DATA Hawaii,HI,Honolulu,s,6427,Idaho,ID,Boise,s,82413,Illinois,IL,Springfield,Chicago,55646
DATA Indiana,IN,Indianapolis,s,35936,Iowa,IA,Des Moines,s,55965,Kansas,KS,Topeka,Wichita,81783
DATA Kentucky,KY,Frankfort,Louisville,39674,Louisiana,LA,Baton Rouge,New Orleans,44520
DATA Maine,ME,Augusta,Portland,30995,Maryland,MD,Annapolis,Baltimore,9838
DATA Massachusetts,MA,Boston,s,7826,Michigan,MI,Lansing,Detroit,56959
DATA Minnesota,MN,St.Paul,Minneapolis,79548,Mississippi,MS,Jackson,s,47234
DATA Missouri,MO,Jefferson City,St.Louis,68945,Montana,MT,Helena,Billings,145388
DATA Nebraska,NE,Lincoln,Omaha,76639,Nevada,NV,Carson City,Las Vegas,109895
DATA New Hampshire,NH,Concord,Manchester,8992,New Jersey,NJ,Trenton,Newark,7468
DATA New Mexico,NM,Santa Fe,Albuquerque,121336,New York,NY,Albany,New York,47379
DATA North Carolina,NC,Raleigh,Charlotte,48843,North Dakota,ND,Bismarck,Fargo,69299
DATA Ohio,OH,Columbus,Cleveland,41004,Oklahoma,OK,Oklahoma City,s,68656
DATA Oregon,OR,Salem,Portland,96187,Pennsylvania,PA,Harrisburg,Philadelphia,44892
DATA Rhode Island,RI,Providence,s,1054,South Carolina,SC,Columbia,s,30207
DATA South Dakota,SD,Pierre,Sioux Falls,75956,Tennessee,TN,Nashville,Memphis,41154
DATA Texas,TX,Austin,Houston,262015,Utah,UT,Salt Lake City,s,82076
DATA Vermont,VT,Montpelier,Burlington,9273,Virginia,VA,Richmond,Norfolk,39700
DATA Washington,WA,Olympia,Seattle,66512,West Virginia,WV,Charleston,s,24124
DATA Wisconsin,WI,Madison,Milwaukee,54424,Wyoming,WY,Cheyenne,Casper,96988
USBorderDat:
DATA 62,37,110,43,164,46,182,52,174,59,187,56,205,60,192,65,192,80,196,83,198,80,199
DATA 65,205,62,214,82,228,68,252,54,254,39,262,38,270,50,260,65,263,69,251,80
DATA 247,101,251,108,228,136,239,159,238,163,230,161,218,143,210,146,194,145
DATA 190,153,171,152,155,162,157,170,148,166,136,151,130,150,128,155,112,137
DATA 101,139,65,126,53,113,44,77,56,37,62,43,62,37,-1,-1
StateBorderDat:
DATA 46,71,99,83,81,106,135,113,135,112,166,111,86,81,75,130,63,76,59,91
DATA 59,91,78,116,106,88,101,139,112,137,129,137,129,137,129,112,129,115
DATA 142,115,142,115,142,125,142,125,167,128,167,128,170,151,130,44,126,89
DATA 84,40,75,77,128,69,101,66,101,66,98,86,98,86,135,90,135,90,134,112
DATA 87,40,90,62,90,62,100,69,153,46,156,86,156,86,165,102,165,102,167,130
DATA 128,63,153,64,127,79,155,80,135,95,162,96,174,59,171,68,171,68
DATA 181,81,181,81,178,95,178,95,190,108,190,108,186,120,186,120,182,132
DATA 182,132,183,143,183,143,190,143,190,143,193,146,194,81,195,103,195,103
DATA 190,108,180,80,192,79,156,76,176,76,160,92,178,92,166,114,187,115
DATA 168,133,181,133,197,82,212,80,206,82,207,96,207,96,199,103
DATA 199,103,195,103,253,53,260,64,260,66,248,69,248,69,244,58,251,68
DATA 252,55,248,70,251,78,250,73,257,70,257,70,259,72,255,71,256,74
DATA 251,78,241,72,241,72,220,77,220,77,225,89,225,89,245,84,245,84
DATA 244,75,243,84,249,92,248,91,245,91,245,91,242,85,247,95,238,93
DATA 238,93,237,89,237,89,229,90,229,90,229,88,207,96,217,98,217,98
DATA 224,87,234,90,227,102,227,102,219,103,219,103,216,99,218,102,213,108
DATA 188,113,246,102,222,107,212,117,186,121,228,114,228,114,240,121,217,116
DATA 231,131,206,118,212,140,228,139,201,141,201,141,200,145,194,119
DATA 197,145,52,51,79,58,181,58,192,65
DATA 97,164,103,171,103,171,95,176,95,176,94,168,94,168,98,164,91,153
DATA 97,158,97,158,92,159,92,159,90,154,84,146,89,147,85,151,86,152,79
DATA 140,81,144,81,144,76,144,76,144,75,141,75,141,78,139,71,136,69,139
DATA 69,139,65,137,65,137,68,134,68,134,72,136,-1,-1,-1,-1
AKDat:
DATA 40,124,53,136,46,153,59,166,58,168,47,158,35,154,32,159,26,158
DATA 12,164,14,161,25,153,16,147,18,130,29,124,40,124,-1,-1
FillDat:
DATA 200,130,34,135,90,120,180,120,60,100,120,100,255,75,246,89,230,150
DATA 220,130,78,143,80,70,190,90,200,90,170,80,140,100,210,100,180,140
DATA 260,50,240,90,255,70,205,75,160,60,190,130,170,100,110,60,140,90
DATA 70,90,255,60,250,80,120,120,240,70,240,110,140,50,215,90,150,120
DATA 70,60,230,80,257,72,230,120,140,70,200,115,150,140,90,90,250,60
DATA 240,100,70,50,225,95,180,70,110,80
PickDat:
DATA 197,207,119,140,15,59,124,168,81,102,110,136,169,183,115,133,45,60
DATA 75,120,106,135,90,109,251,257,73,78,244,248,87,93,202,240,141,163
DATA 213,224,123,139,67,105,135,177,77,99,68,78,184,196,80,103,196,207
DATA 82,98,161,178,77,92,136,163,96,111,201,216,101,108,170,184,133,152
DATA 257,271,39,59,238,243,86,94,252,264,67,70,195,214,59,80,156,172,45,76
DATA 185,196,125,143,166,179,92,114,91,128,41,66,136,157,80,95,68,82,80,102
DATA 253,259,61,67,245,252,79,85,105,130,112,137,222,246,59,72,222,251
DATA 106,114,130,154,45,64,207,220,82,96,143,167,112,125,47,76,59,71
DATA 225,245,77,85,256,260,71,75,228,236,119,128,129,155,64,79,196,214
DATA 112,118,130,167,129,170,85,105,87,106,247,252,58,69,231,249,96,102
DATA 52,80,38,51,222,228,90,102,180,193,65,79,102,127,70,86
TrackDat:
DATA 240,90,MD,238,88,MD,235,88,MD,231,89,MD,227,90,WV,223,89,WV,219,88,OH
DATA 215,88,OH,210,89,OH,205,90,IN,201,90,IN,199,87,IN,196,85,IN,194,82,D
DATA 241,98,VA,240,101,VA,240,105,NC,239,109,NC,238,113,NC,238,117,NC
DATA 235,120,SC,232,122,SC,229,124,SC,225,126,GA,221,127,GA,217,128,GA
DATA 213,129,GA,209,130,AL,205,130,AL,201,130,AL,197,131,AL,193,132,MS
DATA 189,133,MS,185,134,MS,181,135,LA,177,135,LA,173,135,LA,169,136,LA
DATA 165,136,TX,161,136,TX,157,135,D,240,96,VA,236,95,VA,232,95,VA,228,95,WV
DATA 224,96,WV,220,96,WV,216,97,OH,212,98,KY,208,98,KY,204,98,IN,200,99,IN
DATA 196,100,IN,192,100,IL,188,101,IL,184,102,MO,180,102,MO,176,103,MO
DATA 172,104,MO,168,105,MO,164,106,KS,160,107,KS,156,108,KS,153,110,KS
DATA 151,113,OK,149,115,OK,145,116,OK,141,116,TX,137,117,TX,133,117,TX
DATA 130,118,TX,125,118,NM,121,118,NM,117,117,NM,113,117,NM,109,116,NM
DATA 105,115,NM,101,114,AZ,97,113,AZ,93,112,AZ,89,111,AZ,85,110,AZ
DATA 81,110,AZ,77,110,NV,74,113,CA,71,115,CA,68,117,CA,65,119,CA,61,120,D
SUB babble (a$) STATIC
SAY TRANSLATE$(a$)
END SUB
|