home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1990 January
/
1990-01.d64
/
flags
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
6KB
|
206 lines
5 rem copyright 1990 compute! publications, inc. - all rights reserved
10 fori=1to24:l2$=l2$+"[192]":next:l1$=left$(l2$,17)
20 fori=54272to54296:pokei,0:next
30 print"[147]";:aa$="[149] ":fori=1to20:aa$=aa$+"[157] ":next:x=rnd(-ti)
40 mx=41:dimfl$(mx),fl(mx),v$(24),aa(mx),cl(mx):fori=1tomx:readz,a,b,c,d$
50 fl(i)=z:fl$(i)=chr$(a)+chr$(b)+chr$(c)+d$:next
60 poke53280,12:poke53281,12
70 v$(0)="":fori=1to24:v$(i)=v$(i-1)+"":next
80 fori=1to30:sp$=sp$+" ":s3$=s3$+"[185]":s4$=s4$+"[184]":next:s2$=left$(sp$,20)
90 s5$=""+left$(sp$,24):cl(1)=7:cl(2)=6:cl(3)=2:cl(4)=0:cl(5)=5:cl(27)=2
100 s=53248:fori=704to704+63:pokei,0:next
110 fori=832toi+63:pokei,0:next
120 fori=704to725:reada:pokei,a:next
130 fori=833to860:reada:pokei,a:next
140 poke2040,11:poke2041,13:print"[147]";:printv$(6)tab(10)"[144]"left$(s3$,19)"[187]"
150 printv$(15)tab(10)left$(s4$,19)"[190]"
160 printv$(7)tab(10)"[176]"l1$"[174]"
170 pokes+21,0:printtab(10)"[221] flags [221]"
180 printtab(10)"[221] [221]"
190 printtab(10)"[221] (1) learn flags [221]"
200 printtab(10)"[221] (2) one player [221]"
210 printtab(10)"[221] (3) two players [221]"
220 printtab(10)"[221] [221]"
230 printtab(10)"[173]"l1$"[189][146]"v$(7);
240 fori=7to14:printtab(29)"[153][144][181]":next
250 printv$(6)tab(9)left$(aa$,len(aa$)-9)
260 printv$(5)tab(9)"[158][193]"
270 getch$:ifch$<"1"orch$>"3"orch$=""then270
280 ifch$="1"then900
290 pl=1:gs=0:print"[147][144]player #1":print" [158]0000"
300 print""tab(18)"[144][176][192][192][174]"v$(1)tab(18)"[221] [221]"v$(2)tab(18)"[173][192][192][189]"
310 ifch$="3"thenprint""tab(30)"[144]player #2"v$(1)tab(32)"[158]0000"
320 printv$(12)tab(12)"[144] <space> to start ":sc(1)=0:sc(2)=0:rr=0
330 geta$:ifa$<>" "then330
340 rr=rr+1:ifrr>10andch$="2"thenrr=0:goto2000
350 cc=0:fori=1tomx:ifaa(i)=0thencc=1
360 next:ifcc=0thenfori=1tomx:aa(i)=0:next
370 x=int(rnd(1)*mx)+1:ifaa(x)=1then370
380 aa(x)=1:yy=x:z$=mid$(fl$(yy),4):gosub1050
390 gosub1080:a$(1)=mid$(fl$(yy),4)
400 x1=int(rnd(1)*mx)+1:ifx1<>yythena$(2)=mid$(fl$(x1),4):goto420
410 goto400
420 x2=int(rnd(1)*mx)+1:ifx2<>x1andx2<>yythena$(3)=mid$(fl$(x2),4):goto440
430 goto420
440 ifrnd(1)<.5thent$=a$(1):a$(1)=a$(2):a$(2)=t$
450 ifrnd(1)<.5thent$=a$(2):a$(2)=a$(3):a$(3)=t$
460 ifrnd(1)<.5thent$=a$(1):a$(1)=a$(3):a$(3)=t$
470 t=15:t$="15":rv$=""
480 fori=1to3:printv$(19+i)s2$mid$(s2$,2):printv$(19+i)" "rv$"[144]"a$(i)
490 ifch$="3"thenprintv$(19+i)tab(24)rv$a$(i)
500 rv$="[146]":next:p1=1:p2=1
510 x1=notpeek(56321)and15:x2=notpeek(56320)and15
520 geta$:ifa$="[136]"then140
530 ifx1=0andx2=0then670
540 ifx1<>1andx1<>2then560
550 printv$(p1+19)" [146]"a$(p1)
560 ifx2<>1andx2<>2then580
570 ifch$="3"thenprintv$(p2+19)tab(24)"[146]"a$(p2)
580 ifx1=1thenp1=p1-1
590 ifx2=1thenp2=p2-1
600 ifx2=2thenp2=p2+1
610 ifx1=2thenp1=p1+1
620 ifp1<1thenp1=3
630 ifp2<1thenp2=3
640 ifp1>3thenp1=1
650 ifp2>3thenp2=1
660 printv$(p1+19)" "a$(p1):ifch$="3"thenprintv$(p2+19)tab(24)""a$(p2)
670 tm=tm+1:iftm>5thent=t-1:tm=0:gosub1960
680 ift<0then890
690 t$=right$("0"+mid$(str$(int(t)),2),2):print""tab(19)t$
700 b1=(peek(56321)and16)/16:b2=1:ifch$="3"thenb2=(peek(56320)and16)/16
710 ifb1andb2then510
720 pp=p2:pl=2:ifb1=0thenpp=p1:pl=1
730 tb=17:ifpl=1thentb=0
740 fori=20to22:printv$(i)s2$mid$(s2$,2):next
750 printv$(22)tab(2+tb)"[144]*** "a$(pp)" [144]***"
760 ifa$(pp)=z$then810
770 gosub1990
780 printv$(18)tab(8)"wrong! it was "z$:sc(pl)=sc(pl)-int(t*30)
790 ifsc(pl)<0thensc(pl)=0
800 goto820
810 printv$(18)tab(16)"correct!":sc(pl)=sc(pl)+int(t*50):gosub1970
820 s$=right$("0000"+mid$(str$(sc(1)),2),4)
830 print" [158]"s$:ifch$="2"then860
840 s$=right$("0000"+mid$(str$(sc(2)),2),4):print"[158]"tab(32)s$
850 ifsc(1)>5000orsc(2)>5000then2000
860 fordy=1to1500:next
870 fori=18to23:printv$(i)s2$mid$(s2$,2):next
880 goto340
890 gosub1990:printv$(18)tab(5)"out of time! it was "z$:goto860
900 print"[147][144]learn mode[149]":x=1:printv$(3)tab(6)aa$
910 printv$(2)tab(6)"[193]"
920 print"[144][183][183][183][183][183][183][183][183][183][183]"
930 printv$(21)tab(10)"[144](+) next flag"
940 printtab(10)"(-) previous flag"
950 printtab(10)"(q) quit"
960 gosub1050:gosub1080
970 geta$:ifa$="+"then1010
980 ifa$="q"then140
990 ifa$<>"-"then970
1000 goto1030
1010 x=x+1:ifx>mxthenx=1
1020 goto960
1030 x=x-1:ifx<1thenx=mx
1040 goto960
1050 pokes+21,0:e=7:printv$(3);:printtab(e)"[151][176]"l2$"[174]"
1060 fori=1to12+eu:printtab(e)"[146][151][221]"mid$(s5$,2)"[221]":next
1070 printtab(e)"[151][173]"l2$"[189]":return
1080 aa(x)=1
1090 ifch$="1"thenprintv$(18)tab(15)""mid$(fl$(x),4)left$(s2$,10)
1100 a$=fl$(x):a=fl(x)
1110 onagoto1120,1210,1270,1310,1350,1390,1420,1430,1470,1500
1120 printv$(4);:fori=1to4:printtab(8)left$(a$,1)s5$:next
1130 fori=1to4:printtab(8)mid$(a$,2,1)s5$:next
1140 fori=1to4:printtab(8)mid$(a$,3,1)s5$:next
1150 ifx<10orx>12then1170
1160 pokes,173:pokes+1,122:pokes+39,cl(x-9):pokes+23,1:pokes+29,1:pokes+21,1
1170 ifx<14orx>15then1200
1180 pokes+2,158:pokes+3,120:pokes+40,cl(x-10):pokes+23,3:pokes+29,3
1190 pokes+40,a:pokes+21,2
1200 return
1210 printv$(4);:fori=1to12:printtab(8)left$(a$,1)" "mid$(a$,2,1);
1220 print" "mid$(a$,3,1)" ":next
1230 ifx=20thenprintv$(9)tab(19)"[144]r"
1240 ifx<25thenreturn
1250 pokes+2,158:pokes+3,120:pokes+23,3:pokes+29,3:a=7:ifx=25thena=5
1260 pokes+40,a:pokes+21,2:return
1270 printv$(4);:fori=1to6:printtab(8)left$(a$,1)s5$:next
1280 fori=1to6:printtab(8)mid$(a$,2,1)s5$:next
1290 ifx=30thenfori=4to15:printv$(i)tab(8)""left$(s2$,8):next
1300 return
1310 printleft$(a$,1):gosub1490
1320 printmid$(a$,2,1);
1330 fori=4to15:printv$(i)tab(15)" ":next
1340 printv$(9)tab(8)s5$:printtab(8)s5$:return
1350 printleft$(a$,1);:gosub1490
1360 fori=6to13:printv$(i)tab(19)" ";:next
1370 fori=9to10:printv$(i)tab(14)""left$(s2$,12):next
1380 return
1390 printleft$(a$,1);:gosub1490
1400 pokes+2,158:pokes+3,120:pokes+40,1:pokes+23,3:pokes+29,3
1410 pokes+21,2:return
1420 printleft$(a$,1):gosub1490:goto1160
1430 print"":gosub1490
1440 printv$(4)tab(8)""s5$v$(5)tab(8)s5$v$(14)tab(8)s5$v$(15)tab(8)s5$
1450 printv$(6)tab(8)""s5$v$(7)tab(8)s5$v$(12)tab(8)s5$v$(13)tab(8)s5$
1460 return
1470 print"":gosub1490:fori=4to15
1480 printv$(i)tab(20)""mid$(s5$,14):next:printv$(5)tab(9)"[144][219]":return
1490 fori=4to15:printv$(i)tab(8)s5$:next:return
1500 print"":gosub1490
1510 fori=4to7:print"[158]"v$(i)tab(14)mid$(s5$,8):next
1520 fori=12to15:print""v$(i)tab(14)mid$(s5$,8):next:return
1530 data1,28,5,31,"netherlands"
1540 data1,158,31,28,"venezuela"
1550 data1,28,5,28,"austria"
1560 data1,28,158,28,"spain"
1570 data1,28,5,30,"hungary"
1580 data1,28,5,154,"luxembourg"
1590 data1,28,5,144,"libya"
1600 data1,30,158,28,"ethiopia"
1610 data1,30,158,31,"gabon"
1620 data1,154,5,154,"argentina"
1630 data1,28,5,30,"india"
1640 data1,28,5,30,"niger"
1650 data1,144,28,158,"west germany"
1660 data1,28,158,30,"ghana"
1670 data1,28,5,144,"yemen"
1680 data1,5,30,28,"bulgaria"
1690 data2,31,158,28,"chad"
1700 data2,28,158,144,"belgium"
1710 data2,31,5,28,"france"
1720 data2,28,158,30,"rwanda"
1730 data2,30,5,28,"italy"
1740 data2,28,158,30,"new guinea"
1750 data2,30,5,30,"nigeria"
1760 data2,28,5,30,"ivory coast"
1770 data2,30,28,158,"cameroon"
1780 data2,30,158,28,"senegal"
1790 data3,5,154,1,"san marino"
1800 data3,28,5,1,"indonesia"
1810 data3,5,28,1,"poland"
1820 data3,28,30,1,"madagascar"
1830 data4,28,5,1,"denmark"
1840 data4,31,158,1,"sweden"
1850 data4,5,31,1,"finland"
1860 data5,28,5,1,"switzerland"
1870 data6,154,1,1,"somali rep."
1880 data7,144,1,1,"bangladesh"
1890 data8,1,1,1,"thailand"
1900 data9,1,1,1,"malta"
1910 data10,1,1,1,"oman"
1920 data1,144,5,28,"upper volta"
1930 data1,30,5,28,"sierra leone"
1940 data60,0,0,126,0,0,126,0,0,255,0,0,255,0,0,126,0,0,126,0,0,60,16,0,0
1950 data16,0,0,56,0,0,56,0,3,255,128,1,255,0,0,124,0,0,124,0,0,198,0,1,1
1960 poke54273,70:poke54278,70:poke54296,15:poke54276,17:poke54276,16:return
1970 poke54278,96:poke54296,15
1980 fori=1to100step3:poke54273,50+i:poke54276,33:poke54276,0:next:return
1990 fort=1to15:poke54296,15:poke54296,0:next:return
2000 gosub1970:fori=18to23:printv$(i)s2$mid$(s2$,2):next
2010 print