home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disc 15
/
Commodore_Disc_15_19xx_-_de.d64
/
imperium
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
6KB
|
217 lines
1 rem***********************
2 rem* imperium romanum *
3 rem* geschrieben von *
4 rem* ralf trabhardt *
5 rem* philippsbergstr. 45 *
6 rem* 6200 wiesbaden *
7 rem***********************
10 poke646,14:ifa=0thena=1:load"romanum",8,1
15 sys49152
17 dima(21),b(21),l(21),m(21),n(21)
20 fb=53280:gosub8000
25 ja=395:z=0:zt=0
27 q$="----------------"
28 c$=" "
29 v=53248:s=54272
30 pokes+5,9:pokes+15,30:pokes+24,15
32 o2=0:o1=14:gosub5000
40 fori=1to20:reada(i):l(i)=70:m(i)=100:nexti
45 fori=1to15:readb(i):nexti
50 fori=1to5:readk(i):nexti
100 rem*erstellen der karte*
106 sys50178
109 pokev+21,127:ql=0:goto250
111 print"[144]"
112 printtab(103)q$
113 ifz=0thenp$=p1$:ka=l(i)
114 ifz=1thenp$=p2$:ka=m(i)
115 printtab(23)p$
116 printtab(23)q$
117 printtab(23)"zeit:"ja+zt"n.chr"
118 printtab(23)q$:ifql=0thenql=1:print"":return
119 printtab(23)"dies ist die"
120 ifz=0thenprinttab(22)i". legion roms"
121 ifz=1thenprinttab(22)i".german.horde"
122 printtab(23)"kampfkraft:"ka
123 return
124 printtab(23)q$:fory=1to20:ifl(y)>0thenlg=lg+1:s4=s4+l(y)
125 nexty:iflg<1then2000
126 s1=int((100/70)*(s4/lg)):s4=0:printtab(23)p1$:printtab(23)"legionen :"lg
127 printtab(23)"staerke :"s1"%":lg=0
128 printtab(23)q$:fory=1to15:ifm(y)>0thenho=ho+1:s3=s3+m(y)
129 nexty:ifho<1then2500
130 s2=int(s3/ho):s3=0:printtab(23)p2$:printtab(23)"horden :"ho
131 printtab(23)"staerke :"s2"%":ho=0
132 printtab(23)q$
133 printtab(23)"eroberte staedte"
134 ifk(3)=5thenprinttab(23)"roma"
135 ifk(4)=5thenprinttab(23)"byzantium"
136 ifk(2)=5thenprinttab(23)"saguntum"
137 ifk(5)=5thenprinttab(23)"carthago"
138 ifk(1)=5thenprinttab(23)"lutetia"
200 fori=1to20:ifl(i)>0thenpokea(i),216
201 ifm(i)>0thenpokeb(i),214
205 nexti
210 fory=1to5:ifk(y)>5thenpokek(y),213
212 nexty
215 return
220 poke214,7:sys58460:fory=1to3
230 printtab(23)c$:nexty
240 return
250 gosub111
260 gosub124
322 rem*bewegung des fadenkreuzes*
328 x1=152:y1=152
333 ifz=0thenjo=56320
334 ifz=1thenjo=56321
335 pokev+14,x1:pokev+15,y1:pokev+21,255
337 gosub3005
338 ifu=5then350
339 ifu=4theny1=y1+4
340 ifu=1thenx1=x1-4
341 ifu=3thenx1=x1+4
342 ifu=2theny1=y1-4
344 ify1<70theny1=68
345 ify1>234theny1=236
346 ifx1<18thenx1=16
347 ifx1>182thenx1=184
348 ifpeek(197)=4then800
349 goto335
350 rem*feuertaste*
351 x2=x1/8-2:y2=y1/8-4.5
352 gs=984+x2+(y2*40)
354 fori=1to20:ifz=0andl(i)>0anda(i)=gsthen360
355 ifz=1andm(i)>0andb(i)=gsthen360
356 nexti
358 goto335
360 gosub220
370 gosub111
480 rem*bewegung der legionen*
500 x=gs:pokes+1,130:pokes+4,21
502 pokev+21,127:w1=59
503 gosub3005
505 w2=peek(x-40):ifw2<>32andw2<>214andw2<>216thensw=1
510 ifu=2andn(i)<2andsw=1thenpokex,w1:x=x-40:n(i)=n(i)+1:w1=w2:goto600
515 w3=peek(x+40):ifw3<>32andw3<>214andw3<>216thensw=2
517 ifx>2004thensw=0
520 ifu=4andn(i)<2andsw=2thenpokex,w1:x=x+40:n(i)=n(i)+1:w1=w3:goto600
521 w4=peek(x-1):ifw4<>32andw4<>214andw4<>216thensw=3
530 ifu=1andn(i)<2andsw=3thenpokex,w1:x=x-1:n(i)=n(i)+1:w1=w4:goto600
532 w5=peek(x+1):ifw5<>32andw5<>214andw5<>216thensw=4
540 ifu=3andn(i)<2andsw=4thenpokex,w1:x=x+1:n(i)=n(i)+1:w1=w5
600 sw=0:ifz=0thenpokex,216:a(i)=x
610 ifz=1thenpokex,214:b(i)=x
615 fory=1to5:ifb(i)=k(y)thenk(y)=5:pokes+4,21:be=be+1:ifbe>3thenbe=0:goto2000
616 pokes+4,20:nexty
620 ifu=5thenpokes+4,21:pokes+4,20:goto335
700 goto503
800 pokev+21,127:z=z+1:ifz=2thenz=0:zt=zt+1:ifzt=25then2500
801 poke56334,peek(56334)and254
802 ifzt=9thengosub9000
810 fort=1to20:ifl(t)<1then870
812 pokes+1,100+t
813 pokes+4,21
815 i=a(t)+40:k=a(t)+1
816 c=a(t)-1:g=a(t)-40
818 forl=1to15:ifm(l)<1then860
819 q=b(l)
820 ifi=qorg=qorc=qork=qthen840
830 goto860
840 o=int(rnd(1)*20)+1:l(t)=l(t)-o:ifl(t)<1thenpokea(t),217
850 p=int(rnd(1)*20)+1:m(l)=m(l)-p
855 ifm(l)<1thenpokeb(l),215
860 nextl
870 pokes+4,20:nextt
880 fori=1to20:n(i)=0:nexti
890 poke56334,peek(56334)or1
1020 goto106
2000 rem*sieg der germanen*
2010 pokefb+1,8:pokefb,9:pokev+21,0
2020 print"[147][158]":printtab(3)p2$", herrscher der germanen !"
2100 printtab(41)"das roemische imperium liegt am boden !"
2101 printtab(10)"( vae victis !!! )"
2105 printtab(40)"----------------------------------------"
2110 printtab(83)"die germanen haben sie wegen ihrer"
2120 printtab(43)"fuehrungsfaehigkeiten zum koenig auf"
2125 printtab(43)"lebenszeit ernannt !!!"
2130 printtab(83)"(das ist eine grosse ehre, wenn man"
2135 printtab(43)"bedenkt, dass bald die hunnen"
2140 printtab(43)"kommen)!!"
2150 goto2640
2490 rem*sieg der roemer*
2500 pokefb+1,9:pokefb,8:pokev+21,0
2550 print"[147][158]":printtab(3)"ave "p1$", kaiser von rom"
2560 printtab(40)"----------------------------------------"
2600 printtab(82)"das roemische imperium konnte diesen"
2605 printtab(42)"klaeglichen versuch einer horde"
2610 printtab(42)"barbaren laessig abwehren."
2620 printtab(124)"den germanen folgenden tip:"
2630 printtab(84)"versucht es in hundert jahren":printtab(44)"nocheinmal!"
2640 printtab(52)"- feuerknopf -";
2650 gosub3005
2660 ifu=5then9500
2670 goto2650
3000 rem*joystickabfrage*
3005 u=0:j=peek(jo)
3007 if(jand16)=0thenu=5
3010 if(jand1)=0thenu=2
3015 if(jand2)=0thenu=4
3020 if(jand4)=0thenu=1
3025 if(jand8)=0thenu=3
3040 return
4990 rem*bildschirmfarben*
5000 print"[147][144]":printtab(164)"waehlen sie die bildschirmfarben:"
5001 printtab(3)"--------------------------------"
5002 printtab(129)"f1[146] = bildschirmfarbe"
5003 printtab(89)"f3[146] = rahmenfarbe "
5004 printtab(89)"f7[146] = start"
5005 pokefb,o2:pokefb+1,o1:getz$
5007 ifz$="[133]"theno1=o1+1:ifo1>15theno1=2
5008 ifz$="[134]"theno2=o2+1:ifo2>15theno2=0
5020 ifz$="[136]"thenreturn
5030 fori=1to50:nexti:goto5005
6000 data1312,1393,1429,1474,1515,1516,1518
6010 data1520,1522,1511,1549,1601,1625,1632
6020 data1639,1720,1746,1796,1948,1965
6030 data1275,1314,1315,1316,1355,1356,1395
6040 data1396,1397,1398,1436,1437,1438,1439
6050 data1440,1430,1745,1755,1845,1952
8000 rem* namen*
8001 d=0:jo=56320
8002 po=1549:pokefb,0:pokefb+1,0
8005 print"[147]":printtab(52)"[176][192][192][192][192][192][192][192][192][192][192][192][174]"
8010 printtab(12)"[221][153] spieler";1+d;"[221]"
8020 printtab(12)"[173][192][192][192][192][192][192][192][192][192][192][192][189]"
8025 ifd=0thenprinttab(51)"[156]kaiser von rom!"
8026 ifd=1thenprinttab(47)"[156]herrscher der germanen"
8030 printtab(86)"[159]geben sie ihren namen ein :"
8040 printtab(83)"[213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
8050 printtab(3)"[221][158]abcdefghijklmnopqrstuvwxyz?! [221]"
8060 printtab(3)"[202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
8070 printtab(253)"[150]----------"
8080 x=peek(po):pokepo,x+128
8090 gosub3005
8100 ifu=1then8140
8110 ifu=3then8160
8120 ifu=5then8180
8130 goto8090
8140 ifpeek(po-1)<>32thenpokepo,x:x=peek(po-1):po=po-1:pokepo,x+128
8150 goto8090
8160 ifpeek(po+1)<>32thenpokepo,x:x=peek(po+1):po=po+1:pokepo,x+128
8170 goto8090
8180 ifx=33then8240
8190 iflen(a$)<11thena$=a$+chr$(x+64)
8200 ifx=63thena$="":poke781,21:sys59903
8210 poke781,21:poke782,0:sys58636:printtab(13)a$
8220 iflen(a$)>9then8240
8230 fori=1to50:nexti:goto8090
8240 ifd=0thenp1$=a$:a$="":d=1:jo=56321:goto8002
8250 p2$=a$
8260 return
9000 forl=1to20:ifl(l)>0thenl(l)=l(l)+50
9010 ifm(l)>0thenm(l)=m(l)+35
9020 nextl
9030 return
9500 sys58784
9510 run17