Samurai
Samurai ist ein Strategiespiel für zwei Personen. Gespielt wird auf einem acht mal acht Felder großem Spielplan. Jeder Spieler besitzt 16 Spielfiguren, darunter der König. Ziel des Spieles ist es, den gegnerischen König zu schlagen oder so viele Spielsteine zu entfernen, daß außer dem König nur eine Figur übrig bleibt. Geschlagen werden Spielsteine, ähnlich wie bei Schach, wenn ein eigener Spielstein auf das Feld des Gegners gesetzt wird. Die Zahl auf jedem Spielstein zeigt an, wie weit der Stein ziehen muß. Nach jedem Zug ändert sich diese Zahl des bewegten Spielsteines. Bei dem König erscheinen nur die Eins und die Zwei, bei den übrigen Steinen Eins bis Vier.
Die Spielsteine dürfen nur waagerecht oder senkrecht bewegt werden. Dabei darf der Spieler einmal rechtwinklig abbiegen. Es dürfen keine Spielsteine übersprungen werden.
Der Computer überwacht die Züge. Sind diese falsch, erscheint auf dem Bildschirm »N. möglich«. Wird ein Spielstein geschlagen, so erscheint »F. geschlagen«. Rechts oben steht immer der Name des Spielers, der am Zug ist.
Man kann die Steine bewegen, indem man die Koordinaten der Anfangs- und Endposition der Steine eingibt. Eine weitere Möglichkeit ist, die Spielsteine durch den Joystick zu steuern.
Mit dem Joystick kann man die Spielsteine folgendermaßen bewegen: am Anfang erscheint ein Pfeil. Der Spieler mit dem roten Stein hat einen weißen Pfeil und umgekehrt. Diesen Pfeil kann man nun beliebig, mit Hilfe des Joysticks, über das Spielfeld bewegen. Hat man den Pfeil auf dem Spielstein, den man aufnehmen will, so muß man auf den Feuerknopf drücken. Nun kann man entsprechend der Zahl auf dem Spielstein fahren. Der Spielstein bleibt aber auf seiner Position. Wenn man den Stein nun absetzen will, so muß man wiederum auf den Feuerknopf drücken. Der Rahmen um den Pfeil verschwindet nun und der Stein wird dort hingesetzt. Wenn man den Stein mit Hilfe der Koordinaten bewegen will, muß man am Anfang (nach der Anleitung) ein »K« drücken. Der jeweilige Spieler muß dann während des Spieles die Zeile und Spalte des Anfangs- und Endpunktes des Spielsteines über Tastatur eingeben. Falls man keinen oder nur einen Joystick besitzt, kann man den fehlenden durch die Tastatur ersetzen.
Man muß folgende Zeilen ändern (Am Beispiel für Spieler 1, Joystickport 1):
22210 | GET A$ | |
22220 | IFA$= "Tastaturbelegung” ANDY1-24 > 50THENY1 =Y1-24: GOTO22230 | (nach oben) |
22221 | IFA$= "Tastaturbelegung” ANDX1-24 > 20THENX1 =X1-24: GOTO22230 | (nach links) |
22222 | IFA$= "Tastaturbelegung” ANDY1 + 24 < 230THENY1 =Y1 + 24:GOTO22230 | (nach unten) |
22223 | IFA$ = "Tastaturbelegung” ANDX1 + 24 < 210THENX1 = X1 + 24:GOTO22230 | (nach rechts) |
22224 | IFA$= "Tastaturbelegung” THENGOTO22300 | (absetzen, aufnehmen) |
22232 | GOTO22210 | |
22314 | QR=1:U1=6:POKEV+21,24 |
1 rem ------------------------- 2 rem samurai, 3 rem written by 4 rem thomas strigl 5 rem austr.25,7585 lichtenau 6 rem ------------------------- 11 : 12 : 13 dim fe(8,8) 15 si=54272:fl=si:fh=si+1:w=si+4:a=si+5:h=si+6:l=si+24 20 fa=2:z=1:s=1:sw=8:sr=8:x1=32:y1=61:x2=32:y2=229 30 poke53281,0:poke53280,0 40 gosub 9210 95 : 96 : 97 rem * spielfeld * 98 print"{gry2} 1 2 3 4 5 6 7 8 99 print" {rvon}{gry2} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght}" 100 print"1{rvon}{gry2} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght}" 101 print" {rvon}{gry2} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght}" 102 print" {rvon}{gry2}{rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} " 103 print"2{rvon}{gry2}{rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} " 104 print" {rvon}{gry2}{rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} " 106 print" {rvon}{gry2} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght}" 107 print"3{rvon}{gry2} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght}" 108 print" {rvon}{gry2} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght}" 109 print" {rvon}{gry2}{rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} " 110 print"4{rvon}{gry2}{rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} " 111 print" {rvon}{gry2}{rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} " 112 print" {rvon}{gry2} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght}" 113 print"5{rvon}{gry2} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght}" 114 print" {rvon}{gry2} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght}" 115 print" {rvon}{gry2}{rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} " 116 print"6{rvon}{gry2}{rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} " 117 print" {rvon}{gry2}{rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} " 118 print" {rvon}{gry2} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght}" 119 print"7{rvon}{gry2} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght}" 120 print" {rvon}{gry2} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght}" 121 print" {rvon}{gry2}{rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} " 122 print"8{rvon}{gry2}{rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} " 123 print" {rvon}{gry2}{rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {rght}{rght}{rght} {home}" 129 print"{home}" 131 printtab(26)" written by" 132 printtab(26)"thomas strigl" 133 printtab(25)"{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}" 198 : 199 : 200 rem *** grundstellung *** 201 b=1065:f=55337:y=1:v=12:c=9 209 forq=1to2 211 ify=2thenb=1905:f=56177 212 forx=1tov 220 pokeb,160:pokef,y 230 b=b+1:f=f+1:nextx 240 forx=1to3 250 pokeb,160:pokef,7 260 b=b+1:f=f+1 261 pokev+5,61 265 nextx 266 forx=1toc 267 pokeb,160:pokef,y 268 b=b+1:f=f+1:nextx 269 b=b+16:f=f+16 270 forx=1to24 271 pokeb,160:pokef,y 272 b=b+1:f=f+1:nextx 273 b=b+16:f=f+16 274 forx=1to24 275 pokeb,160:pokef,y 276 b=b+1:f=f+1:nextx 277 ify=1thena=4:za=3:b=1106:f=55378 278 ify=2thenb=1946:f=56218 280 forx=1toa 281 zu=int(4*rnd(1))+1 282 pokeb,zu+176:pokef,y 284 ify=1thenfe(1,x)=zu+10 285 ify=2thenfe(8,x)=zu 286 b=b+3:f=f+3:nextx 289 zk=int(2*rnd(1))+1 290 pokeb,zk+176:pokef,y 291 b=b+3:f=f+3 293 ify=1thenfe(1,5)=zk+30 294 ify=2thenfe(8,4)=zk+20 300 forx=1toza 305 zu=int(4*rnd(1))+1 306 pokeb,zu+176:pokef,y 307 ify=1thenfe(1,x+5)=zu+10 308 ify=2thenfe(8,x+4)=zu 310 b=b+3:f=f+3:nextx 350 a=a-1:za=za+1:y=2:c=12:v=9:nextq 360 ifqm$="s"thengosub22000 370 ifqm$="s"thengoto22100 398 : 399 : 400 rem *** ziehen *** 401 gosub20100 402 gosub800 420 poke214,11:poke211,25:sys58640 430 input"{lblu}von: zeile";z1 440 input"{lblu}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}spalte";s1 450 input"{lblu}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}nach:zeile";z2 460 input"{lblu}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}spalte";s2 598 : 599 : 600 rem *** fig. setzen *** 601 goto7000 620 p=((z2*3-2)*40+s2*3-2+1024) 621 f=((z2*3-2)*40+s2*3-2+55296) 625 forx=1to3 630 pokep,160:pokef,fa 640 p=p+1:f=f+1 641 nextx 650 gosub3000 660 p=p+37:f=f+37 661 pokep,160:pokef,fa 662 p=p+1:f=f+1 670 pokep,zu+176:pokef,fa 672 p=p+1:f=f+1 680 pokep,160:pokef,fa 681 p=p+38:f=f+38 685 forx=1to3 690 pokep,160:pokef,fa 695 p=p+1:f=f+1 696 nextx 710 iffa=2thenfe(z2,s2)=zu 711 iffa=1thenfe(z2,s2)=zu+10 720 goto6500 721 : 722 : 800 rem * name * 810 poke214,8:poke211,25:sys58640 820 ifsp$=n1$thensp$=n2$:print"{yel}{rght}{rght}{rght}";sp$:return 830 ifsp$=n2$thensp$=n1$:print"{yel}{rght}{rght}{rght}";sp$:return 2205 pokev+21,60 2998 : 2999 : 3000 rem * zufallszahl * 3005 zu=int(4*rnd(1))+1 3010 return 3998 : 3999 : 4000 rem *** koenig *** 4010 p=((z2*3-2)*40+s2*3-2+1024) 4020 f=((z2*3-2)*40+s2*3-2+55296) 4030 forx=1to3 4040 pokep,160:pokef,7 4050 p=p+1:f=f+1 4060 nextx 4070 gosub5000 4080 p=p+37:f=f+37 4090 pokep,160:pokef,fa 4100 p=p+1:f=f+1 4110 pokep,zk+176:pokef,fa 4120 p=p+1:f=f+1 4130 pokep,160:pokef,fa 4140 p=p+38:f=f+38 4150 forx=1to3 4160 pokep,160:pokef,fa 4170 p=p+1:f=f+1 4180 nextx 4200 iffa=2thenfe(z2,s2)=zk+20 4210 iffa=1thenfe(z2,s2)=zk+30 4220 goto6500 4998 : 4999 : 5000 rem *** zufall k. *** 5010 zk=int(2*rnd(1))+1 5020 return 5998 : 5999 : 6500 rem *** feld loeschen *** 6505 r=z1+s1:fa=0 6510 ifr=2orr=4orr=6orr=8orr=10thenfa=12 6520 ifr=12orr=14orr=16orr=18thenfa=12 6530 p=((z1*3-2)*40+s1*3-2+1024) 6540 f=((z1*3-2)*40+s1*3-2+55296) 6545 forq=1to3 6550 forx=1to3 6551 pokep,160:pokef,fa 6552 p=p+1:f=f+1:nextx 6553 p=p+37:f=f+37:nextq 6554 fe(z1,s1)=0 6555 ifsw=2orsr=2thengoto9100 6560 goto8000 6998 : 6999 : 7000 rem *** zug richtig? *** 7001 goto9000 7010 iffe(z1,s1)<10thenfa=2 7020 iffe(z1,s1)>10thenfa=1 7030 iffe(z1,s1)>20thenfa=2 7040 iffe(z1,s1)>30thenfa=1 7041 iffa=1andsp$=n2$thengoto8100 7042 iffa=2andsp$=n1$thengoto8100 7050 iffe(z2,s2)=0thengoto7200 7060 iffe(z2,s2)<10thensa=2 7065 iffe(z2,s2)>10thensa=1 7070 iffe(z2,s2)>20thensa=51 7075 iffe(z2,s2)>30thensa=52 7076 iffa=1andsa=1thengoto8100 7077 iffa=1andsa=52thengoto8100 7078 iffa=2andsa=51thengoto8100 7079 iffa=2andsa=2thengoto8100 7085 ifsa=51andfa=1thengoto9100 7087 ifsa=52andfa=2thengoto9100 7088 iffe(z1,s1)>20andsa=1thensw=sw-1:goto4000 7089 iffe(z1,s1)>30andsa=2thensr=sr-1:goto4000 7090 iffa=2andsa=1thensw=sw-1:printtab(26)"{down}{rvon}{grn}f.geschlagen":gosub20000 7100 iffa=1andsa=2thensr=sr-1:printtab(26)"{down}{rvon}{grn}f.geschlagen":gosub20000 7200 iffe(z1,s1)>20thengoto4000 7210 goto620 7998 : 7999 : 8000 rem * loeschen * 8009 print"{home}{down}{down}{down}{down}" 8010 fori=1to19 8011 printtab(25)" " 8012 next 8030 ifsx=1thensx=0:poke214,8:poke211,25:sys58640:print"{yel}{rght}{rght}{rght}";sp$:goto8033 8031 ifqm$="s"thengoto22100 8032 goto400 8033 ifqm$="s"thengoto22200 8034 goto420 8098 : 8099 : 8100 rem * n.moeglich * 8110 printtab(26)"{down}{rvon}{grn}n.moeglich" 8120 gosub20000 8130 sx=1:goto8000 8998 : 8999 : 9000 rem * zahl * 9001 ifs2>8orz2>8thengoto8100 9002 ifs1>8orz1>8thengoto8100 9010 ifz1<z2thenri=z2-z1 9011 ifz1>z2thenri=z1-z2 9012 ifs1<s2thenra=s2-s1 9013 ifs1>s2thenra=s1-s2 9014 ifz1=z2thenri=0 9015 ifs1=s2thenra=0 9024 iffe(z1,s1)<10thengoto9030 9025 iffe(z1,s1)<20thengoto9040 9026 iffe(z1,s1)<30thengoto9050 9027 iffe(z1,s1)<40thengoto9060 9030 rem stein rot 9031 ifri+ra<>fe(z1,s1)thengoto8100 9032 goto10000 9040 rem stein weiss 9041 ifri+ra<>fe(z1,s1)-10thengoto8100 9042 goto10000 9050 rem koenig rot 9051 ifri+ra<>fe(z1,s1)-20thengoto8100 9052 goto10000 9060 rem koenig weiss 9061 ifri+ra<>fe(z1,s1)-30thengoto8100 9062 goto10000 9098 : 9099 : 9100 rem * gewonnen * 9101 pokev+21,0 9105 print"{clr}" 9110 print"{down}{down}{rght}{rght}{rght}{rght}glueckwunsch !!!" 9111 print"{down}{down}{down}{down}{rght}{rght}{rght}{rght}";sp$;" hat gewonnen" 9112 gosub20000 9113 input"{rght}{rght}{rght}{rght}{down}{down}{down}noch ein spiel (j/n)";xy$ 9114 ifxy$="n"thenend 9115 ifxy$="j"thenclr:goto1 9116 : 9117 : 9118 rem *** anleitung *** 9119 poke56322,255 9210 printchr$(14)"{clr} 9211 print"{yel} {rvon} S A M U R A I {rvof},written by Thomas" 9212 print" Strigl 9213 print"{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}" 9398 : 9399 : 9400 print"{down}{down}{down}{yel} Ziel des{$a0}Spiels: 9401 print" 9402 print"{grn} Bei Samurai geht es darum ,die Haupt- 9403 print" figur des Gegenspielers,seinen Koenig, 9404 print" zu besiegen oder seine Spielsteine zu 9405 print" schlagen, dass nur noch der Koenig und 9406 print" ein weiterer Stein uebrigbleiben. 9407 print"{orng} Die Zahl auf jedem Spielstein gibt 9408 print" an,wie weit der Stein ziehen muss. 9409 print" Das Besondere ist, dass sich die Zahl 9410 print" bei jedem Zug aendert.Man muss deshalb 9411 print" Glueck und Ueberraschungen in seine 9412 print" Strategie einbeziehen ! 9420 print"{yel}{down} >>>> taste <<<< 9422 geta$:ifa$=""thengoto9422 9450 print"{clr}{lgrn}{down}{down}{down} Wie die Spielsteine gezogen werden: 9451 print" 9452 print"{lblu} Die Zahl, die im Spielstein sichtbar 9453 print" ist, zeigt an, wie viele Felder weit 9454 print" der Stein ziehen muss. Beim Koenig 9456 print" erscheinen nur die Zahlen 1 und 2 , 9457 print" bei den uebrigen Steinen die Zahlen 9458 print" 1 bis 4. 9459 print" Die Spielsteine duerfen nur 9460 print" waagrecht und senkrecht gezogen werden" 9461 print" werden, nicht schraeg. 9462 print" Bei jedem zug darf man nur einmal 9463 print" rechtwinklig abbiegen. 9464 print" Es duerfen keine Spielsteine 9465 print" uebersprungen werden !!!!!!. Spieler 1 9466 print" faengt mit weiss an. 9468 print"{down} viel Spass !!! 9470 input"{down}{down} name spieler 1";n1$ 9471 input" name spieler 2";n2$ 9472 sp$=n2$ 9473 print"{clr}" 9474 print:print:print 9475 print"{yel} Halt !!!! ":print 9476 print"{yel} Es gibt 2 Moeglichkeiten um " 9477 print" die Figuren zu bewegen.":print:print 9478 print" k - durch Eingabe von Koordinaten" 9479 print 9480 print" s - durch Bewegen u. Steuern ueber" 9481 print" Joystick" 9482 print:print:print 9483 input" Buchstabe";qm$ 9980 printchr$(142)"{clr}":return 9981 : 9982 : 10000 rem * fig. uebersprungen? * 10001 ifz1=z2thengoto10088 10002 ifs1=s2thengoto10094 10010 ifz1>z2thengoto10050 10020 ifz2>z1thengoto10070 10050 : 10051 fori=z1-1toz2step-1 10052 iffe(i,s1)<>0thengoto10059 10053 next 10054 fori=s1tos2-1 10055 ifs1>s2thenfori=s2+1tos1 10056 iffe(z2,i)<>0thengoto10059 10057 next:goto7010 10059 fori=s1+1tos2 10060 ifs1>s2thenfori=s1-1tos2step-1 10061 iffe(z1,i)<>0thengoto8100 10062 next 10063 fori=z2+1toz1 10064 iffe(i,s2)<>0thengoto8100 10065 next:goto7010 10070 : 10071 fori=z1+1toz2 10072 iffe(i,s1)<>0thengoto10079 10073 next 10074 fori=s2+1tos1 10075 ifs1<s2thenfori=s1+1tos2-1 10076 iffe(z2,i)<>0thengoto10079 10077 next:goto7010 10079 fori=s2tos1-1 10080 ifs1<s2thenfori=s1+1tos2 10081 iffe(z1,i)<>0thengoto8100 10082 next 10083 fori=z1toz2-1 10084 iffe(i,s2)<>0thengoto8100 10085 : 10088 ifs1-s2=1thengoto7010 10089 ifs2-s1=1thengoto7010 10090 fori=s1+1tos2-1 10091 ifs1>s2thenfori=s1-1tos2+1step-1 10092 iffe(z1,i)<>0thengoto8100 10093 next:goto7010 10094 ifz1-z2=1thengoto7010 10095 ifz2-z1=1thengoto7010 10096 fori=z1+1toz2-1 10097 ifz1>z2thenfori=z1-1toz2+1step-1 10098 iffe(i,s1)<>0thengoto8100 10099 next:goto7010 10100 : 10101 : 20000 rem *** toene *** 20010 pokel,15 20020 pokea,16+9 20040 pokeh,4*16+4 20041 forq=1to5 20050 pokefh,29:pokefl,69 20060 pokew,33 20070 fort=1to40:nextt 20071 pokefh,17:pokefl,103 20072 pokew,33 20073 fort=1to40:nextt 20074 nextq 20080 pokew,0:pokea,0:pokeh,0 20082 return 20100 : 20110 pokel,15 20120 pokea,16+9 20140 pokeh,4*16+4 20150 pokefh,29:pokefl,69 20160 pokew,33 20170 fori=1to500:next 20180 pokew,0:pokea,0:pokeh,0 20190 return 20998 : 20999 : 22000 rem ** daten f. sprites ** 22001 : 22002 sp$=n2$ 22004 v=53248 22005 pokev+21,60 22006 poke 2042,13:poke2043,14 22007 poke 2044,13:poke2045,14 22009 : 22010 rem sprite 2 22012 forn=0to62:readq:poke832+n,q:next 22014 data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 22015 data0,0,0,0,0,0,0,0,0,0,0,0 22016 data0,0,0,0,0,0,0,0,0,0,255,0 22017 data1,255,128,3,255,192,7,255,224 22018 data15,255,240,31,255,248 22019 data63,255,252,127,255,254,255,255,255 22020 pokev+39+5,7 22021 : 22050 rem sprite 3 22051 forn=0to62:readq:poke896+n,q:next 22052 data255,255,255,128,0,1,128,0,1,128,0,1,128,0,1 22053 data128,0,1,128,0,1,128,0,1,128,0,1 22054 data128,0,1,128,0,1,128,0,1,128,255,1 22055 data129,255,129,131,255,193,135,255,225 22056 data143,255,241,159,255,249 22057 data191,255,253,255,255,255,255,255,255 22058 pokev+4,32:pokev+5,61 22059 pokev+8,32:pokev+9,230 22060 pokev+41,2:pokev+42,2:pokev+43,1:pokev+44,1 22070 return 22071 : 22072 : 22100 rem *** sprites bewegen *** 22101 gosub800 22200 gosub20100:ifsp$=n2$thengoto22400 22201 rem ** spieler 1 ** 22202 u1=4:qr=0 22210 j=peek(56321) 22220 if(jand1)=0andy1-24>50theny1=y1-24:goto22230 22221 if(jand4)=0andx1-24>20thenx1=x1-24:goto22230 22222 if(jand2)=0andy1+24<230theny1=y1+24:goto22230 22223 if(jand8)=0andx1+24<210thenx1=x1+24:goto22230 22224 if(jand16)=0thengoto22300 22225 goto22210 22230 pokev+u1,x1:pokev+u1+1,y1 22231 fori=1to80:nexti:goto22210 22300 ifqr<>0thengoto22350 22310 z1=((y1-61)/24)+1 22312 s1=((x1-32)/24)+1 22313 iffe(z1,s1)=0thengoto22210 22314 qr=1:u1=6:pokev+21,24:fori=1to160:next 22315 pokev+u1,x1:pokev+u1+1,y1 22316 goto 22210 22350 z2=((y1-61)/24)+1 22352 s2=((x1-32)/24)+1 22354 u1=4:pokev+21,20:pokev+u1,x1:pokev+u1+1,y1 22356 goto600 22357 : 22400 rem ** spieler 2 ** 22402 u2=8:qr=0 22403 poke56322,255 22410 j=peek(56320) 22420 if(jand1)=0andy2-24>50theny2=y2-24:goto22500 22421 if(jand4)=0andx2-24>20thenx2=x2-24:goto22500 22422 if(jand2)=0andy2+24<230theny2=y2+24:goto22500 22423 if(jand8)=0andx2+24<210thenx2=x2+24:goto22500 22424 if(jand16)=0thengoto22520 22425 goto22410 22500 pokev+u2,x2:pokev+u2+1,y2 22510 i=0:fori=1to80:nexti:goto22410 22520 ifqr<>0thengoto22600 22525 z1=((y2-61)/24)+1 22530 s1=((x2-32)/24)+1 22531 iffe(z1,s1)=0thengoto22410 22535 qr=1:u2=10:pokev+21,36:fori=1to160:next 22536 pokev+u2,x2:pokev+u2+1,y2 22537 goto 22410 22600 z2=((y2-61)/24)+1 22601 s2=((x2-32)/24)+1 22602 u2=8:pokev+21,20:pokev+u2,x2:pokev+u2+1,y2 22603 goto600
1 REM ------------------------- 2 REM SAMURAI, 3 REM WRITTEN BY 4 REM THOMAS STRIGL 5 REM AUSTR.25,7585 LICHTENAU 6 REM ------------------------- 11 : 12 : 13 DIM FE(8,8) 15 SI=54272:FL=SI:FH=SI+1:W=SI+4:A=SI+5:H=SI+6:L=SI+24 20 FA=2:Z=1:S=1:SW=8:SR=8:X1=32:Y1=61:X2=32:Y2=229 30 POKE 53281,0:POKE 53280,0 40 GOSUB 9210 95 : 96 : 97 REM * SPIELFELD * 98 PRINT"{GREY2,2SPACE}1{2SPACE}2{2SPACE}3{2SPACE}4{2SPACE}5{2SPACE}6{2SPACE}7{2SPACE}8 99 PRINT"{SPACE,RVSON,GREY2,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT}" 100 PRINT"1{RVSON,GREY2,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT}" 101 PRINT"{SPACE,RVSON,GREY2,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT}" 102 PRINT"{SPACE,RVSON,GREY2,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE}" 103 PRINT"2{RVSON,GREY2,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE}" 104 PRINT"{SPACE,RVSON,GREY2,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE}" 106 PRINT"{SPACE,RVSON,GREY2,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT}" 107 PRINT"3{RVSON,GREY2,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT}" 108 PRINT"{SPACE,RVSON,GREY2,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT}" 109 PRINT"{SPACE,RVSON,GREY2,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE}" 110 PRINT"4{RVSON,GREY2,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE}" 111 PRINT"{SPACE,RVSON,GREY2,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE}" 112 PRINT"{SPACE,RVSON,GREY2,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT}" 113 PRINT"5{RVSON,GREY2,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT}" 114 PRINT"{SPACE,RVSON,GREY2,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT}" 115 PRINT"{SPACE,RVSON,GREY2,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE}" 116 PRINT"6{RVSON,GREY2,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE}" 117 PRINT"{SPACE,RVSON,GREY2,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE}" 118 PRINT"{SPACE,RVSON,GREY2,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT}" 119 PRINT"7{RVSON,GREY2,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT}" 120 PRINT"{SPACE,RVSON,GREY2,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT}" 121 PRINT"{SPACE,RVSON,GREY2,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE}" 122 PRINT"8{RVSON,GREY2,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE}" 123 PRINT"{SPACE,RVSON,GREY2,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,3RIGHT,3SPACE,HOME}" 129 PRINT"{HOME}" 131 PRINTTAB( 26)" WRITTEN BY" 132 PRINTTAB( 26)"THOMAS STRIGL" 133 PRINTTAB( 25)"@@@@@@@@@@@@@@@" 198 : 199 : 200 REM *** GRUNDSTELLUNG *** 201 B=1065:F=55337:Y=1:V=12:C=9 209 FOR Q=1 TO2 211 IF Y=2 THENB=1905:F=56177 212 FOR X=1 TOV 220 POKE B,160:POKE F,Y 230 B=B+1:F=F+1:NEXT X 240 FOR X=1 TO3 250 POKE B,160:POKE F,7 260 B=B+1:F=F+1 261 POKE V+5,61 265 NEXT X 266 FOR X=1 TOC 267 POKE B,160:POKE F,Y 268 B=B+1:F=F+1:NEXT X 269 B=B+16:F=F+16 270 FOR X=1 TO24 271 POKE B,160:POKE F,Y 272 B=B+1:F=F+1:NEXT X 273 B=B+16:F=F+16 274 FOR X=1 TO24 275 POKE B,160:POKE F,Y 276 B=B+1:F=F+1:NEXT X 277 IF Y=1 THENA=4:ZA=3:B=1106:F=55378 278 IF Y=2 THENB=1946:F=56218 280 FOR X=1 TOA 281 ZU=INT (4*RND (1))+1 282 POKE B,ZU+176:POKE F,Y 284 IF Y=1 THENFE(1,X)=ZU+10 285 IF Y=2 THENFE(8,X)=ZU 286 B=B+3:F=F+3:NEXT X 289 ZK=INT (2*RND (1))+1 290 POKE B,ZK+176:POKE F,Y 291 B=B+3:F=F+3 293 IF Y=1 THENFE(1,5)=ZK+30 294 IF Y=2 THENFE(8,4)=ZK+20 300 FOR X=1 TOZA 305 ZU=INT (4*RND (1))+1 306 POKE B,ZU+176:POKE F,Y 307 IF Y=1 THENFE(1,X+5)=ZU+10 308 IF Y=2 THENFE(8,X+4)=ZU 310 B=B+3:F=F+3:NEXT X 350 A=A-1:ZA=ZA+1:Y=2:C=12:V=9:NEXT Q 360 IF QM$="S" THENGOSUB 22000 370 IF QM$="S" THENGOTO 22100 398 : 399 : 400 REM *** ZIEHEN *** 401 GOSUB 20100 402 GOSUB 800 420 POKE 214,11:POKE 211,25:SYS 58640 430 INPUT"{LIG.BLUE}VON: ZEILE";Z1 440 INPUT"{LIG.BLUE,DOWN,29RIGHT}SPALTE";S1 450 INPUT"{LIG.BLUE,3DOWN,25RIGHT}NACH:ZEILE";Z2 460 INPUT"{LIG.BLUE,DOWN,29RIGHT}SPALTE";S2 598 : 599 : 600 REM *** FIG. SETZEN *** 601 GOTO 7000 620 P=((Z2*3-2)*40+S2*3-2+1024) 621 F=((Z2*3-2)*40+S2*3-2+55296) 625 FOR X=1 TO3 630 POKE P,160:POKE F,FA 640 P=P+1:F=F+1 641 NEXT X 650 GOSUB 3000 660 P=P+37:F=F+37 661 POKE P,160:POKE F,FA 662 P=P+1:F=F+1 670 POKE P,ZU+176:POKE F,FA 672 P=P+1:F=F+1 680 POKE P,160:POKE F,FA 681 P=P+38:F=F+38 685 FOR X=1 TO3 690 POKE P,160:POKE F,FA 695 P=P+1:F=F+1 696 NEXT X 710 IF FA=2 THENFE(Z2,S2)=ZU 711 IF FA=1 THENFE(Z2,S2)=ZU+10 720 GOTO 6500 721 : 722 : 800 REM * NAME * 810 POKE 214,8:POKE 211,25:SYS 58640 820 IF SP$=N1$ THENSP$=N2$:PRINT"{YELLOW,3RIGHT}";SP$:RETURN 830 IF SP$=N2$ THENSP$=N1$:PRINT"{YELLOW,3RIGHT}";SP$:RETURN 2205 POKE V+21,60 2998 : 2999 : 3000 REM * ZUFALLSZAHL * 3005 ZU=INT (4*RND (1))+1 3010 RETURN 3998 : 3999 : 4000 REM *** KOENIG *** 4010 P=((Z2*3-2)*40+S2*3-2+1024) 4020 F=((Z2*3-2)*40+S2*3-2+55296) 4030 FOR X=1 TO3 4040 POKE P,160:POKE F,7 4050 P=P+1:F=F+1 4060 NEXT X 4070 GOSUB 5000 4080 P=P+37:F=F+37 4090 POKE P,160:POKE F,FA 4100 P=P+1:F=F+1 4110 POKE P,ZK+176:POKE F,FA 4120 P=P+1:F=F+1 4130 POKE P,160:POKE F,FA 4140 P=P+38:F=F+38 4150 FOR X=1 TO3 4160 POKE P,160:POKE F,FA 4170 P=P+1:F=F+1 4180 NEXT X 4200 IF FA=2 THENFE(Z2,S2)=ZK+20 4210 IF FA=1 THENFE(Z2,S2)=ZK+30 4220 GOTO 6500 4998 : 4999 : 5000 REM *** ZUFALL K. *** 5010 ZK=INT (2*RND (1))+1 5020 RETURN 5998 : 5999 : 6500 REM *** FELD LOESCHEN *** 6505 R=Z1+S1:FA=0 6510 IF R=2OR R=4OR R=6OR R=8OR R=10 THENFA=12 6520 IF R=12OR R=14OR R=16OR R=18 THENFA=12 6530 P=((Z1*3-2)*40+S1*3-2+1024) 6540 F=((Z1*3-2)*40+S1*3-2+55296) 6545 FOR Q=1 TO3 6550 FOR X=1 TO3 6551 POKE P,160:POKE F,FA 6552 P=P+1:F=F+1:NEXT X 6553 P=P+37:F=F+37:NEXT Q 6554 FE(Z1,S1)=0 6555 IF SW=2OR SR=2 THENGOTO 9100 6560 GOTO 8000 6998 : 6999 : 7000 REM *** ZUG RICHTIG? *** 7001 GOTO 9000 7010 IF FE(Z1,S1)<10 THENFA=2 7020 IF FE(Z1,S1)>10 THENFA=1 7030 IF FE(Z1,S1)>20 THENFA=2 7040 IF FE(Z1,S1)>30 THENFA=1 7041 IF FA=1AND SP$=N2$ THENGOTO 8100 7042 IF FA=2AND SP$=N1$ THENGOTO 8100 7050 IF FE(Z2,S2)=0 THENGOTO 7200 7060 IF FE(Z2,S2)<10 THENSA=2 7065 IF FE(Z2,S2)>10 THENSA=1 7070 IF FE(Z2,S2)>20 THENSA=51 7075 IF FE(Z2,S2)>30 THENSA=52 7076 IF FA=1AND SA=1 THENGOTO 8100 7077 IF FA=1AND SA=52 THENGOTO 8100 7078 IF FA=2AND SA=51 THENGOTO 8100 7079 IF FA=2AND SA=2 THENGOTO 8100 7085 IF SA=51AND FA=1 THENGOTO 9100 7087 IF SA=52AND FA=2 THENGOTO 9100 7088 IF FE(Z1,S1)>20AND SA=1 THENSW=SW-1:GOTO 4000 7089 IF FE(Z1,S1)>30AND SA=2 THENSR=SR-1:GOTO 4000 7090 IF FA=2AND SA=1 THENSW=SW-1:PRINTTAB( 26)"{DOWN,RVSON,GREEN}F.GESCHLAGEN":GOSUB 20000 7100 IF FA=1AND SA=2 THENSR=SR-1:PRINTTAB( 26)"{DOWN,RVSON,GREEN}F.GESCHLAGEN":GOSUB 20000 7200 IF FE(Z1,S1)>20 THENGOTO 4000 7210 GOTO 620 7998 : 7999 : 8000 REM * LOESCHEN * 8009 PRINT"{HOME,4DOWN}" 8010 FOR I=1 TO19 8011 PRINTTAB( 25)"{14SPACE}" 8012 NEXT 8030 IF SX=1 THENSX=0:POKE 214,8:POKE 211,25:SYS 58640:PRINT"{YELLOW,3RIGHT}";SP$:GOTO 8033 8031 IF QM$="S" THENGOTO 22100 8032 GOTO 400 8033 IF QM$="S" THENGOTO 22200 8034 GOTO 420 8098 : 8099 : 8100 REM * N.MOEGLICH * 8110 PRINTTAB( 26)"{DOWN,RVSON,GREEN}N.MOEGLICH" 8120 GOSUB 20000 8130 SX=1:GOTO 8000 8998 : 8999 : 9000 REM * ZAHL * 9001 IF S2>8OR Z2>8 THENGOTO 8100 9002 IF S1>8OR Z1>8 THENGOTO 8100 9010 IF Z1<Z2 THENRI=Z2-Z1 9011 IF Z1>Z2 THENRI=Z1-Z2 9012 IF S1<S2 THENRA=S2-S1 9013 IF S1>S2 THENRA=S1-S2 9014 IF Z1=Z2 THENRI=0 9015 IF S1=S2 THENRA=0 9024 IF FE(Z1,S1)<10 THENGOTO 9030 9025 IF FE(Z1,S1)<20 THENGOTO 9040 9026 IF FE(Z1,S1)<30 THENGOTO 9050 9027 IF FE(Z1,S1)<40 THENGOTO 9060 9030 REM STEIN ROT 9031 IF RI+RA<>FE(Z1,S1) THENGOTO 8100 9032 GOTO 10000 9040 REM STEIN WEISS 9041 IF RI+RA<>FE(Z1,S1)-10 THENGOTO 8100 9042 GOTO 10000 9050 REM KOENIG ROT 9051 IF RI+RA<>FE(Z1,S1)-20 THENGOTO 8100 9052 GOTO 10000 9060 REM KOENIG WEISS 9061 IF RI+RA<>FE(Z1,S1)-30 THENGOTO 8100 9062 GOTO 10000 9098 : 9099 : 9100 REM * GEWONNEN * 9101 POKE V+21,0 9105 PRINT"{CLR}" 9110 PRINT"{2DOWN,4RIGHT}GLUECKWUNSCH !!!" 9111 PRINT"{4DOWN,4RIGHT}";SP$;" HAT GEWONNEN" 9112 GOSUB 20000 9113 INPUT"{4RIGHT,3DOWN}NOCH EIN SPIEL (J/N)";XY$ 9114 IF XY$="N" THENEND 9115 IF XY$="J" THENCLR :GOTO 1 9116 : 9117 : 9118 REM *** ANLEITUNG *** 9119 POKE 56322,255 9210 PRINTCHR$ (14)"{CLR} 9211 PRINT"{YELLOW,2SPACE,RVSON,SPACE}S A M U R A I{SPACE,RVOFF},WRITTEN BY THOMAS" 9212 PRINT"{29SPACE}STRIGL 9213 PRINT"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" 9398 : 9399 : 9400 PRINT"{3DOWN,YELLOW,SPACE}ZIEL DES{SHIFT-SPACE}SPIELS: 9401 PRINT" 9402 PRINT"{GREEN,SPACE}BEI SAMURAI GEHT ES DARUM ,DIE HAUPT- 9403 PRINT" FIGUR DES GEGENSPIELERS,SEINEN KOENIG, 9404 PRINT" ZU BESIEGEN ODER SEINE SPIELSTEINE ZU 9405 PRINT" SCHLAGEN, DASS NUR NOCH DER KOENIG UND 9406 PRINT" EIN WEITERER STEIN UEBRIGBLEIBEN. 9407 PRINT"{ORANGE,4SPACE}DIE ZAHL AUF JEDEM SPIELSTEIN GIBT 9408 PRINT" AN,WIE WEIT DER STEIN ZIEHEN MUSS. 9409 PRINT" DAS BESONDERE IST, DASS SICH DIE ZAHL 9410 PRINT" BEI JEDEM ZUG AENDERT.MAN MUSS DESHALB 9411 PRINT" GLUECK UND UEBERRASCHUNGEN IN SEINE 9412 PRINT" STRATEGIE EINBEZIEHEN ! 9420 PRINT"{YELLOW,DOWN,11SPACE}>>>> TASTE <<<< 9422 GET A$:IF A$="" THENGOTO 9422 9450 PRINT"{CLR,LIG.GREEN,3DOWN,SPACE}WIE DIE SPIELSTEINE GEZOGEN WERDEN: 9451 PRINT" 9452 PRINT"{LIG.BLUE,SPACE}DIE ZAHL, DIE IM SPIELSTEIN SICHTBAR 9453 PRINT" IST, ZEIGT AN, WIE VIELE FELDER WEIT 9454 PRINT" DER STEIN ZIEHEN MUSS. BEIM KOENIG 9456 PRINT" ERSCHEINEN NUR DIE ZAHLEN 1 UND 2 , 9457 PRINT" BEI DEN UEBRIGEN STEINEN DIE ZAHLEN 9458 PRINT" 1 BIS 4. 9459 PRINT"{6SPACE}DIE SPIELSTEINE DUERFEN NUR 9460 PRINT" WAAGRECHT UND SENKRECHT GEZOGEN WERDEN" 9461 PRINT" WERDEN, NICHT SCHRAEG. 9462 PRINT" BEI JEDEM ZUG DARF MAN NUR EINMAL 9463 PRINT" RECHTWINKLIG ABBIEGEN. 9464 PRINT" ES DUERFEN KEINE SPIELSTEINE 9465 PRINT" UEBERSPRUNGEN WERDEN !!!!!!. SPIELER 1 9466 PRINT" FAENGT MIT WEISS AN. 9468 PRINT"{DOWN,SPACE}VIEL SPASS !!! 9470 INPUT"{2DOWN,SPACE}NAME SPIELER 1";N1$ 9471 INPUT" NAME SPIELER 2";N2$ 9472 SP$=N2$ 9473 PRINT"{CLR}" 9474 PRINT:PRINT:PRINT 9475 PRINT"{YELLOW,5SPACE}HALT !!!! ":PRINT 9476 PRINT"{YELLOW,5SPACE}ES GIBT 2 MOEGLICHKEITEN UM " 9477 PRINT"{5SPACE}DIE FIGUREN ZU BEWEGEN.":PRINT:PRINT 9478 PRINT"{5SPACE}K - DURCH EINGABE VON KOORDINATEN" 9479 PRINT 9480 PRINT"{5SPACE}S - DURCH BEWEGEN U. STEUERN UEBER" 9481 PRINT"{9SPACE}JOYSTICK" 9482 PRINT:PRINT:PRINT 9483 INPUT"{5SPACE}BUCHSTABE";QM$ 9980 PRINTCHR$ (142)"{CLR}":RETURN 9981 : 9982 : 10000 REM * FIG. UEBERSPRUNGEN? * 10001 IF Z1=Z2 THENGOTO 10088 10002 IF S1=S2 THENGOTO 10094 10010 IF Z1>Z2 THENGOTO 10050 10020 IF Z2>Z1 THENGOTO 10070 10050 : 10051 FOR I=Z1-1 TOZ2STEP -1 10052 IF FE(I,S1)<>0 THENGOTO 10059 10053 NEXT 10054 FOR I=S1 TOS2-1 10055 IF S1>S2 THENFOR I=S2+1 TOS1 10056 IF FE(Z2,I)<>0 THENGOTO 10059 10057 NEXT :GOTO 7010 10059 FOR I=S1+1 TOS2 10060 IF S1>S2 THENFOR I=S1-1 TOS2STEP -1 10061 IF FE(Z1,I)<>0 THENGOTO 8100 10062 NEXT 10063 FOR I=Z2+1 TOZ1 10064 IF FE(I,S2)<>0 THENGOTO 8100 10065 NEXT :GOTO 7010 10070 : 10071 FOR I=Z1+1 TOZ2 10072 IF FE(I,S1)<>0 THENGOTO 10079 10073 NEXT 10074 FOR I=S2+1 TOS1 10075 IF S1<S2 THENFOR I=S1+1 TOS2-1 10076 IF FE(Z2,I)<>0 THENGOTO 10079 10077 NEXT :GOTO 7010 10079 FOR I=S2 TOS1-1 10080 IF S1<S2 THENFOR I=S1+1 TOS2 10081 IF FE(Z1,I)<>0 THENGOTO 8100 10082 NEXT 10083 FOR I=Z1 TOZ2-1 10084 IF FE(I,S2)<>0 THENGOTO 8100 10085 : 10088 IF S1-S2=1 THENGOTO 7010 10089 IF S2-S1=1 THENGOTO 7010 10090 FOR I=S1+1 TOS2-1 10091 IF S1>S2 THENFOR I=S1-1 TOS2+1STEP -1 10092 IF FE(Z1,I)<>0 THENGOTO 8100 10093 NEXT :GOTO 7010 10094 IF Z1-Z2=1 THENGOTO 7010 10095 IF Z2-Z1=1 THENGOTO 7010 10096 FOR I=Z1+1 TOZ2-1 10097 IF Z1>Z2 THENFOR I=Z1-1 TOZ2+1STEP -1 10098 IF FE(I,S1)<>0 THENGOTO 8100 10099 NEXT :GOTO 7010 10100 : 10101 : 20000 REM *** TOENE *** 20010 POKE L,15 20020 POKE A,16+9 20040 POKE H,4*16+4 20041 FOR Q=1 TO5 20050 POKE FH,29:POKE FL,69 20060 POKE W,33 20070 FOR T=1 TO40:NEXT T 20071 POKE FH,17:POKE FL,103 20072 POKE W,33 20073 FOR T=1 TO40:NEXT T 20074 NEXT Q 20080 POKE W,0:POKE A,0:POKE H,0 20082 RETURN 20100 : 20110 POKE L,15 20120 POKE A,16+9 20140 POKE H,4*16+4 20150 POKE FH,29:POKE FL,69 20160 POKE W,33 20170 FOR I=1 TO500:NEXT 20180 POKE W,0:POKE A,0:POKE H,0 20190 RETURN 20998 : 20999 : 22000 REM ** DATEN F. SPRITES ** 22001 : 22002 SP$=N2$ 22004 V=53248 22005 POKE V+21,60 22006 POKE 2042,13:POKE 2043,14 22007 POKE 2044,13:POKE 2045,14 22009 : 22010 REM SPRITE 2 22012 FOR N=0 TO62:READ Q:POKE 832+N,Q:NEXT 22014 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 22015 DATA 0,0,0,0,0,0,0,0,0,0,0,0 22016 DATA 0,0,0,0,0,0,0,0,0,0,255,0 22017 DATA 1,255,128,3,255,192,7,255,224 22018 DATA 15,255,240,31,255,248 22019 DATA 63,255,252,127,255,254,255,255,255 22020 POKE V+39+5,7 22021 : 22050 REM SPRITE 3 22051 FOR N=0 TO62:READ Q:POKE 896+N,Q:NEXT 22052 DATA 255,255,255,128,0,1,128,0,1,128,0,1,128,0,1 22053 DATA 128,0,1,128,0,1,128,0,1,128,0,1 22054 DATA 128,0,1,128,0,1,128,0,1,128,255,1 22055 DATA 129,255,129,131,255,193,135,255,225 22056 DATA 143,255,241,159,255,249 22057 DATA 191,255,253,255,255,255,255,255,255 22058 POKE V+4,32:POKE V+5,61 22059 POKE V+8,32:POKE V+9,230 22060 POKE V+41,2:POKE V+42,2:POKE V+43,1:POKE V+44,1 22070 RETURN 22071 : 22072 : 22100 REM *** SPRITES BEWEGEN *** 22101 GOSUB 800 22200 GOSUB 20100:IF SP$=N2$ THENGOTO 22400 22201 REM ** SPIELER 1 ** 22202 U1=4:QR=0 22210 J=PEEK (56321) 22220 IF (JAND 1)=0AND Y1-24>50 THENY1=Y1-24:GOTO 22230 22221 IF (JAND 4)=0AND X1-24>20 THENX1=X1-24:GOTO 22230 22222 IF (JAND 2)=0AND Y1+24<230 THENY1=Y1+24:GOTO 22230 22223 IF (JAND 8)=0AND X1+24<210 THENX1=X1+24:GOTO 22230 22224 IF (JAND 16)=0 THENGOTO 22300 22225 GOTO 22210 22230 POKE V+U1,X1:POKE V+U1+1,Y1 22231 FOR I=1 TO80:NEXT I:GOTO 22210 22300 IF QR<>0 THENGOTO 22350 22310 Z1=((Y1-61)/24)+1 22312 S1=((X1-32)/24)+1 22313 IF FE(Z1,S1)=0 THENGOTO 22210 22314 QR=1:U1=6:POKE V+21,24:FOR I=1 TO160:NEXT 22315 POKE V+U1,X1:POKE V+U1+1,Y1 22316 GOTO 22210 22350 Z2=((Y1-61)/24)+1 22352 S2=((X1-32)/24)+1 22354 U1=4:POKE V+21,20:POKE V+U1,X1:POKE V+U1+1,Y1 22356 GOTO 600 22357 : 22400 REM ** SPIELER 2 ** 22402 U2=8:QR=0 22403 POKE 56322,255 22410 J=PEEK (56320) 22420 IF (JAND 1)=0AND Y2-24>50 THENY2=Y2-24:GOTO 22500 22421 IF (JAND 4)=0AND X2-24>20 THENX2=X2-24:GOTO 22500 22422 IF (JAND 2)=0AND Y2+24<230 THENY2=Y2+24:GOTO 22500 22423 IF (JAND 8)=0AND X2+24<210 THENX2=X2+24:GOTO 22500 22424 IF (JAND 16)=0 THENGOTO 22520 22425 GOTO 22410 22500 POKE V+U2,X2:POKE V+U2+1,Y2 22510 I=0:FOR I=1 TO80:NEXT I:GOTO 22410 22520 IF QR<>0 THENGOTO 22600 22525 Z1=((Y2-61)/24)+1 22530 S1=((X2-32)/24)+1 22531 IF FE(Z1,S1)=0 THENGOTO 22410 22535 QR=1:U2=10:POKE V+21,36:FOR I=1 TO160:NEXT 22536 POKE V+U2,X2:POKE V+U2+1,Y2 22537 GOTO 22410 22600 Z2=((Y2-61)/24)+1 22601 S2=((X2-32)/24)+1 22602 U2=8:POKE V+21,20:POKE V+U2,X2:POKE V+U2+1,Y2 22603 GOTO 600