C 64
Spiel

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
(Thomas Strigl/rg)
|
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 
Listing »Samurai«. Geben Sie dieses Listing bitte mit dem Checksummer 64 ein.
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →