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
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 →