C 64
Taktikspiele

Shugun — Ein Brettspiel

Strategisches Vorgehen ist bei diesem Brettspiel Voraussetzung. Versetzen Sie sich in die Zeit der Samurais, und kämpfen Sie mit Ihrem acht Mann starken Heer gegen den Shugun.

Shugun wird nach den Regeln des bekannten Brettspiels Shogun gespielt. Gegner des Spielers ist der Computer.

Programmablauf zum Spiel Shugun

Nach einem Titelbild erscheinen neun Schwierigkeitsstufen auf dem Bildschirm. Hat der Spieler sich für einen Schwierigkeitsgrad entschieden, drückt er die entsprechende Zahl. Es folgt ein einleitender Text. Am Ende dieses Textes können die Spielregeln abgerufen werden. Anschließend wird das Spielfeld aufgebaut und die Spielsteine auf ihre Anfangsposition gesetzt. Auf jedem Spielstein erscheint eine Zufallszahl, die angibt, wieviele Felder gezogen werden können. Jetzt ist

der Computer spielbereit und erwartet vom Spieler die Eingabe eines Zuges (zum Beispiel: H1-G3). Ist der Zug unzulässig, wird er vom Computer ignoriert. Ansonsten wird der Spielstein, versehen mit einer neuen Zufallszahl, auf die gewünschte Position gesetzt. Der nächste Zug wird vom Computer ausgeführt. Je nach Schwierigkeitsstufe zieht er mehr oder weniger »intelligent«. Ihn in Stufe neun zu schlagen, ist nicht leicht. Steht der Sieger fest, erscheint eine Schlußgrafik und der Spieler wird gefragt, ob noch einmal gespielt werden soll. Wird »n« eingegeben, führt der Computer einen Kaltstart aus.

Spielregeln zum Spiel Shugun

Jeder Spieler zieht mit einem acht Mann starken Samurai-Heer in den Kampf (am unteren Spielfeldrand der Spieler mit den weißen Spielsteinen, am oberen Spielfeldrand der Computer mit den hellblauen Spielsteinen). Der Shugun hebt sich vom Rest seiner Krieger durch besondere Kennzeichnung ab. Er ist der Anführer seines Heeres. Wird er geschlagen, hat seine Mannschaft verloren. Die zufällige Zahl in der oberen Ecke einer jeden Spielfigur gibt die Anzahl der Felder an, die gezogen werden können. Zieht man zum Beispiel mit einer Spielfigur, auf der die Zahl 4 steht, muß diese um vier Felder bewegt werden. Diagonale Züge sind nicht erlaubt.

Hinweise zum Abtippen

Bitte beachten Sie beim Abtippen, daß die einzelnen Programme unbedingt unter dem im Listing bezeichneten Namen abgespeichert werden. Sollten Sie die Programme auf Kassette abspeichern, entfällt der Programmteil »SHUGUN-LOAD«. Gestartet wird das Programm bei Kassettenbetrieb mit LOAD "MA.-ROUTINE",1,1:NEW:LOAD "SHUGUN" :RUN

Bei Diskettenbetrieb wird nur das Programm »SHUGUN-LOAD« mit LOAD"SHUGUN-LOAD",8 geladen und mit RUN gestartet. Die restlichen Programmteile werden automatisch nachgeladen.

(Andreas Gast / Rainer Wilhelm / ah)
|
7 rem *********************************
8 rem *        shugun-load            *
9 rem *********************************
10 ::::::::::::::::::::::::::::::::::::
11 poke53281,0:poke53280,0:print"{clr}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}";
12 print"{yel}         now loading: {red}shugun"
13 print"{wht}         {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}"
14 print"{down}          (@) 1985 a&r soft"
15 print"{down}    andreas gast & rainer wilhelm"
20 a$="{blk}load"+chr$(34)+"ma.-routine"+chr$(34)+",8,1"
30 b$="{blk}load"+chr$(34)+"shugun"+chr$(34)+",8"
40 print"{home}"a$:print:print:print:print:print"{blk}new":print:print:printb$
45 printchr$(144):print:print:print:print"{blk}run"
50 poke631,19:poke632,13:poke633,13:poke634,13:poke635,13:poke198,5
60 ::::::::::::::::::::::::::::::::::::
  7 REM ********************************* 
  8 REM *        SHUGUN-LOAD            * 
  9 REM ********************************* 
 10 :::::::::::::::::::::::::::::::::::: 
 11 POKE 53281,0:POKE 53280,0:PRINT"{CLR,14DOWN}"; 
 12 PRINT"{YELLOW,9SPACE}NOW LOADING:{SPACE,RED}SHUGUN" 
 13 PRINT"{WHITE,9SPACE}TTTTTTTTTTTTTTTTTTT" 
 14 PRINT"{DOWN,10SPACE}(@) 1985 A&R SOFT" 
 15 PRINT"{DOWN,4SPACE}ANDREAS GAST & RAINER WILHELM" 
 20 A$="{BLACK}LOAD"+CHR$ (34)+"MA.-ROUTINE"+CHR$ (34)+",8,1" 
 30 B$="{BLACK}LOAD"+CHR$ (34)+"SHUGUN"+CHR$ (34)+",8" 
 40 PRINT"{HOME}"A$:PRINT:PRINT:PRINT:PRINT:PRINT"{BLACK}NEW":PRINT:PRINT:PRINTB$ 
 45 PRINTCHR$ (144):PRINT:PRINT:PRINT:PRINT"{BLACK}RUN" 
 50 POKE 631,19:POKE 632,13:POKE 633,13:POKE 634,13:POKE 635,13:POKE 198,5 
 60 :::::::::::::::::::::::::::::::::::: 
Listing 1. Ladeprogramm zum Spiel Shugun. Bitte mit SAVE"SHUGUN-LOAD",8 auf Diskette abspeichern. Bei Kassettenbetrieb entfällt dieses Ladeprogramm.
PROGRAMM : MA.-ROUTINE    C000 C6EE
-----------------------------------
C000 : 20 12 C2 A9 40 8D EF CF   DF
C008 : A9 30 8D EE CF A9 20 8D   F0
C010 : ED CF A9 10 8D EC CF A9   24
C018 : 00 8D EB CF A9 04 8D EA   9A
C020 : CF A9 03 8D E9 CF A9 02   FE
C028 : 8D E8 CF A9 01 8D E7 CF   0E
C030 : A9 00 8D E6 CF A9 40 8D   80
C038 : F1 CF 8D F0 CF A9 09 8D   1C
C040 : FA CF A2 96 A9 C8 9D D6   A2
C048 : CE CA 8A D0 F7 A2 4F A9   5D
C050 : C8 9D 81 CF CA 8A D0 F7   75
C058 : A9 09 8D FF CF A9 C8 8D   72
C060 : FC CF CE FF CF AD FF CF   01
C068 : D0 03 4C D0 C2 AA BD DC   19
C070 : CF C9 C8 F0 ED 8D FE CF   5B
C078 : BD D2 CF 8D FD CF 8D F9   CC
C080 : CF A9 00 8D F7 CF AD FE   88
C088 : CF AE F9 CF AC F7 CF 18   21
C090 : 7D E6 CF 18 79 EB CF C9   41
C098 : 77 F0 04 90 02 A9 C8 8D   46
C0A0 : F5 CF AD FE CF 18 7D E6   49
C0A8 : CF 38 F9 EB CF 30 06 C9   B9
C0B0 : 77 F0 04 90 02 A9 C8 8D   5E
C0B8 : F4 CF AD FE CF 38 FD E6   63
C0C0 : CF 30 0A 18 79 EB CF C9   F7
C0C8 : 77 F0 04 90 02 A9 C8 8D   76
C0D0 : F3 CF AD FE CF 38 FD E6   7A
C0D8 : CF 30 0C 38 F9 EB CF 30   68
C0E0 : 06 C9 77 F0 04 90 02 A9   E7
C0E8 : C8 8D F2 CF AD F5 CF C9   8B
C0F0 : C8 F0 0B 29 0F C9 08 30   D8
C0F8 : 05 A9 C8 8D F5 CF AD F4   34
C100 : CF C9 C8 F0 0B 29 0F C9   CE
C108 : 08 30 05 A9 C8 8D F4 CF   0B
C110 : AD F3 CF C9 C8 F0 0B 29   76
C118 : 0F C9 08 30 05 A9 C8 8D   F0
C120 : F3 CF AD F2 CF C9 C8 F0   15
C128 : 0B 29 0F C9 08 30 05 A9   2E
C130 : C8 8D F2 CF A9 40 8D F1   2C
C138 : CF AD F5 CF C9 C8 F0 16   28
C140 : CE F1 CF AD F1 CF 30 0E   2B
C148 : A8 B9 90 CF CD F5 CF D0   58
C150 : EF A9 C8 8D F5 CF A9 40   FD
C158 : 8D F1 CF AD F4 CF C9 C8   0E
C160 : F0 16 CE F1 CF AD F1 CF   1F
C168 : 30 0E A8 B9 90 CF CD F4   A9
C170 : CF D0 EF A9 C8 8D F4 CF   45
C178 : A9 40 8D F1 CF AD F3 CF   BD
C180 : C9 C8 F0 16 CE F1 CF AD   C3
C188 : F1 CF 30 0E A8 B9 90 CF   69
C190 : CD F3 CF D0 EF A9 C8 8D   EF
C198 : F3 CF A9 40 8D F1 CF AD   E8
C1A0 : F2 CF C9 C8 F0 16 CE F1   E4
C1A8 : CF AD F1 CF 30 0E A8 B9   4E
C1B0 : 90 CF CD F2 CF D0 EF A9   90
C1B8 : C8 8D F2 CF 20 83 C5 AD   8E
C1C0 : F5 CF C9 C8 F0 09 CE F0   9D
C1C8 : CF AE F0 CF 9D 90 CF AD   1D
C1D0 : F4 CF C9 C8 F0 09 CE F0   AC
C1D8 : CF AE F0 CF 9D 90 CF AD   2D
C1E0 : F3 CF C9 C8 F0 09 CE F0   BB
C1E8 : CF AE F0 CF 9D 90 CF AD   3D
C1F0 : F2 CF C9 C8 F0 09 CE F0   CA
C1F8 : CF AE F0 CF 9D 90 CF CE   90
C200 : F9 CF AD F9 CF F0 05 10   44
C208 : 03 4C 62 C0 EE F7 CF 4C   68
C210 : 86 C0 A9 13 8D 00 04 A9   FF
C218 : 08 8D 01 04 A9 15 8D 02   25
C220 : 04 A9 07 8D 03 04 A9 15   8D
C228 : 8D 04 04 A9 0E 8D 05 04   57
C230 : A9 2D 8D 06 04 A9 03 8D   49
C238 : 07 04 A9 12 8D 08 04 A9   6A
C240 : 05 8D 09 04 A9 01 8D 0A   BC
C248 : 04 A9 14 8D 0B 04 A9 05   59
C250 : 8D 0C 04 A9 04 8D 0D 04   03
C258 : A9 27 8D 0F 04 A9 38 8D   64
C260 : 10 04 A9 35 8D 11 04 A9   48
C268 : 02 8D 13 04 A9 19 8D 14   38
C270 : 04 A9 01 8D 16 04 A9 2E   BF
C278 : 8D 17 04 A9 07 8D 18 04   0C
C280 : A9 01 8D 19 04 A9 13 8D   25
C288 : 1A 04 A9 14 8D 1B 04 A9   A6
C290 : 26 8D 1D 04 A9 12 8D 1F   E4
C298 : 04 A9 2E 8D 20 04 A9 17   A5
C2A0 : 8D 21 04 A9 09 8D 22 04   82
C2A8 : A9 0C 8D 23 04 A9 08 8D   E8
C2B0 : 24 04 A9 05 8D 25 04 A9   47
C2B8 : 0C 8D 26 04 A9 0D 8D 27   1C
C2C0 : 04 A2 29 CA 8A F0 08 A9   5D
C2C8 : 02 9D FF D7 4C C3 C2 60   42
C2D0 : A9 40 8D F1 CF A9 82 8D   AA
C2D8 : F0 CF A9 09 8D FF CF CE   F1
C2E0 : FF CF AD FF CF D0 03 4C   5A
C2E8 : 05 C5 AA BD 78 CF C9 C8   F1
C2F0 : F0 ED 8D FE CF BD 6E CF   5E
C2F8 : 8D FD CF 8D F9 CF A9 00   EE
C300 : 8D F7 CF AD FE CF AE F9   4F
C308 : CF AC F7 CF 18 7D E6 CF   CE
C310 : 18 79 EB CF C9 77 F0 04   FE
C318 : 90 02 A9 C8 8D F5 CF AD   50
C320 : FE CF 18 7D E6 CF 38 F9   7D
C328 : EB CF 30 06 C9 77 F0 04   EC
C330 : 90 02 A9 C8 8D F4 CF AD   60
C338 : FE CF 38 FD E6 CF 30 0A   AD
C340 : 18 79 EB CF C9 77 F0 04   2E
C348 : 90 02 A9 C8 8D F3 CF AD   70
C350 : FE CF 38 FD E6 CF 30 0C   C9
C358 : 38 F9 EB CF 30 06 C9 77   CB
C360 : F0 04 90 02 A9 C8 8D F2   B4
C368 : CF AD F5 CF CD E1 CF F0   92
C370 : 1B AD F4 CF CD E1 CF F0   A6
C378 : 13 AD F3 CF CD E1 CF F0   66
C380 : 0B AD F2 CF CD E1 CF F0   25
C388 : 03 4C 9A C3 A9 05 8D EA   9F
C390 : CE AD FF CF 8D E9 CE 4C   2B
C398 : DC C6 20 C3 C5 AD F5 CF   99
C3A0 : C9 C8 F0 0B 29 0F C9 08   AD
C3A8 : 30 05 A9 C8 8D F5 CF AD   01
C3B0 : F4 CF C9 C8 F0 0B 29 0F   41
C3B8 : C9 08 30 05 A9 C8 8D F4   33
C3C0 : CF AD F3 CF C9 C8 F0 0B   19
C3C8 : 29 0F C9 08 30 05 A9 C8   50
C3D0 : 8D F3 CF AD F2 CF C9 C8   67
C3D8 : F0 0B 29 0F C9 08 30 05   22
C3E0 : A9 C8 8D F2 CF A9 83 8D   22
C3E8 : F1 CF AD F5 CF F0 1B CE   79
C3F0 : F1 CF F0 16 CE F1 CF F0   65
C3F8 : 11 AD F1 CF A8 B9 EC CE   00
C400 : CD F5 CF D0 EA A9 C8 8D   10
C408 : F5 CF A9 83 8D F1 CF AD   C3
C410 : F4 CF F0 1B CE F1 CF F0   29
C418 : 16 CE F1 CF F0 11 AD F1   3E
C420 : CF A8 B9 EC CE CD F4 CF   1E
C428 : D0 EA A9 C8 8D F4 CF A9   04
C430 : 83 8D F1 CF AD F3 CF F0   8C
C438 : 1B CE F1 CF F0 16 CE F1   0F
C440 : CF F0 11 AD F1 CF A8 B9   35
C448 : EC CE CD F3 CF D0 EA A9   10
C450 : C8 8D F3 CF A9 83 8D F1   A6
C458 : CF AD F2 CF F0 1E CE F1   D3
C460 : CF F0 19 CE F1 CF F0 14   51
C468 : AD F1 CF A8 B9 EC CE CD   F1
C470 : F2 CF CE F1 CF D0 E7 A9   B2
C478 : C8 8D F2 CF 20 83 C5 20   33
C480 : 45 C6 AD F5 CF C9 C8 F0   A3
C488 : 15 CE F0 CF AE F0 CF 9D   27
C490 : EC CE AD FF CF CE F0 CF   25
C498 : AE F0 CF 9D EC CE AD F4   4C
C4A0 : CF C9 C8 F0 15 CE F0 CF   CF
C4A8 : AE F0 CF 9D EC CE AD FF   72
C4B0 : CF CE F0 CF AE F0 CF 9D   09
C4B8 : EC CE AD F3 CF C9 C8 F0   45
C4C0 : 15 CE F0 CF AE F0 CF 9D   5F
C4C8 : EC CE AD FF CF CE F0 CF   5D
C4D0 : AE F0 CF 9D EC CE AD F2   80
C4D8 : CF C9 C8 F0 15 CE F0 CF   07
C4E0 : AE F0 CF 9D EC CE AD FF   AA
C4E8 : CF CE F0 CF AE F0 CF 9D   41
C4F0 : EC CE CE F9 CF AD F9 CF   28
C4F8 : F0 05 10 03 4C DF C2 EE   7C
C500 : F7 CF 4C 03 C3 A9 81 8D   FD
C508 : F1 CF A9 0B 8D FA CF A9   F0
C510 : 09 8D F0 CF CE F1 CF CE   6F
C518 : F1 CF 10 03 4C 97 C6 CE   90
C520 : F0 CF AD F0 CF D0 03 4C   A9
C528 : 0F C5 AE F1 CF BD EC CE   40
C530 : C9 C8 F0 DB AC F0 CF D9   5A
C538 : DC CF F0 03 4C 1F C5 AD   C9
C540 : F0 CF C9 05 F0 29 CE FA   B4
C548 : CF AD FA CF 30 D1 AD F0   D0
C550 : CF AE FA CF 9D E0 CE CE   E9
C558 : F1 CF AE F1 CF BD EC CE   57
C560 : CE FA CF AE FA CF 9D E0   DB
C568 : CE EE F1 CF 4C 1F C5 A9   4C
C570 : 05 8D EA CE CE F1 CF AE   E9
C578 : F1 CF BD EC CE 8D E9 CE   FC
C580 : 4C 97 C6 AD F5 CF CD F4   FE
C588 : CF F0 0D CD F3 CF F0 08   5E
C590 : CD F2 CF F0 03 4C 9D C5   7D
C598 : A9 C8 8D F5 CF AD F4 CF   A5
C5A0 : CD F3 CF F0 08 CD F2 CF   D3
C5A8 : F0 03 4C B2 C5 A9 C8 8D   6B
C5B0 : F4 CF AD F3 CF CD F2 CF   4C
C5B8 : F0 03 4C C2 C5 A9 C8 8D   7D
C5C0 : F3 CF 60 A9 40 8D F1 CF   C0
C5C8 : AD F5 CF C9 C8 F0 18 CE   AF
C5D0 : F1 CF AD F1 CF F0 10 AC   70
C5D8 : F1 CF B9 90 CF CD F5 CF   14
C5E0 : D0 ED A9 C8 8D F5 CF A9   45
C5E8 : 40 8D F1 CF AD F4 CF F0   09
C5F0 : 15 CE F1 CF F0 10 AC F1   09
C5F8 : CF B9 90 CF CD F4 CF D0   27
C600 : F0 A9 C8 8D F4 CF A9 40   9D
C608 : 8D F1 CF AD F3 CF F0 15   E3
C610 : CE F1 CF F0 10 AC F1 CF   B7
C618 : B9 90 CF CD F3 CF D0 F0   AA
C620 : A9 C8 8D F3 CF A9 40 8D   75
C628 : F1 CF AD F2 CF F0 15 CE   41
C630 : F1 CF F0 10 AC F1 CF B9   54
C638 : 90 CF CD F2 CF D0 F0 A9   1C
C640 : C8 8D F2 CF 60 A2 09 CA   5A
C648 : F0 0D BD 78 CF CD F5 CF   20
C650 : D0 F5 A9 C8 8D F5 CF A2   AB
C658 : 09 AC F4 CF CA F0 0D BD   D2
C660 : 78 CF CD F4 CF D0 F5 A9   80
C668 : C8 8D F4 CF A2 09 AC F3   3B
C670 : CF CA F0 0D BD 78 CF CD   FD
C678 : F3 CF D0 F5 A9 C8 8D F3   45
C680 : CF A2 09 AC F2 CF CA F0   33
C688 : 0D BD 78 CF CD F2 CF D0   E1
C690 : F5 A9 C8 8D F2 CF 60 A9   C0
C698 : 40 8D F1 CF CE F1 CF D0   72
C6A0 : 03 4C DC C6 AE F1 CF BD   0E
C6A8 : 90 CF C9 C8 F0 EE A9 09   EA
C6B0 : 8D F0 CF CE F0 CF D0 03   5A
C6B8 : 4C 9C C6 AE F1 CF BD 90   8F
C6C0 : CF AE F0 CF DD 78 CF D0   9F
C6C8 : EA AD FC CF C9 05 D0 03   D0
C6D0 : 4C DC C6 AD F0 CF 8D FC   AF
C6D8 : CF 4C B3 C6 A2 29 CA 8A   47
C6E0 : F0 08 A9 07 9D FF D7 4C   F1
C6E8 : DE C6 60 60 00 8C         ED
Listing 3. Maschinen-Routinen zum Spiel Shugun.
|
10 rem  **************************
20 rem  *                        *
30 rem  *    s  h  u  g  u  n    *
40 rem  *                        *
50 rem  *           by           *
60 rem  *      andreas gast      *
70 rem  *    & rainer wilhelm    *
80 rem  *                        *
90 rem  *    1984/85 ettenheim   *
91 rem  *                        *
92 rem  **************************
93 :
94 rem  **************************
95 rem  * 'rem-zeilen' auch ab-  *
96 rem  * tippen...              *
97 rem  **************************
121 :
125 rem ******************************
130 rem * titelbild                  *
132 rem ******************************
133 :
140 poke53281,0:poke53280,0:printchr$(142)chr$(8)
150 print"{clr}{wht}";
160 print" UCCCCC{SHIFT-*}CCCI UCIU{SHIFT-*}IU{SHIFT-*}IU{SHIFT-*}IU{SHIFT-*}IU{SHIFT-*}IU{CBM-R}KU{SHIFT-*}K"
170 print" BUCC{SHIFT-*}CCCCIB {CBM-Q}CK{CBM-Q}{CBM-R}K{CBM-Q}{SHIFT-*} J{SHIFT-*}I{CBM-Q}{SHIFT-*} {SHIFT--} {SHIFT--} {SHIFT--} J{SHIFT-*}I {CBM-V}"
180 print" BB{grn} a & r {wht}BB K  KJ J{SHIFT-*}KJ{SHIFT-*}KJ{SHIFT-*}KJ J K J{SHIFT-*}K {CBM-V}"
190 print" BB{grn} {CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U} {wht}BB   "
200 print" BB{grn} soft*{wht} BB   "
210 print" BJCC{SHIFT-*}CCCCKB       {red}s {cyn}h {pur}u {grn}g {blu}u {yel}n"
220 print"{wht} JCCCI U{SHIFT-*}CCK     "
230 print" {CBM-A}CCCK JC{SHIFT-*}C{CBM-S}     {yel}a strategic game"
240 print"{wht} BE{rvon}{CBM-I}{rvof}E   E{rvon}{CBM-I}{rvof}E{CBM-Q}I"
250 print" {CBM-Z}CCCCCC{SHIFT-*}CC{CBM-X}B       {yel} for the"
260 print"{wht}            {SHIFT--}             {lred} {CBM-@}{CBM-@}{CBM-@}{CBM-@}{wht}"
270 print" {CBM-A}CCCCCCCC{SHIFT-*}{CBM-S}{SHIFT--}   {lred} commodore lxiv{wht}"
280 print" B{CBM-B}{CBM-B}{CBM-B}{CBM-B}{CBM-B}{CBM-B}{CBM-B}{CBM-B}{CBM-B}{CBM-Q}K             {lred} {CBM-T}{CBM-T}{CBM-T}{CBM-T}{wht}"
290 print" JCCCCCCCCCK     "
300 print"                 "
310 print"{red} {CBM-Q}III  {wht} UCI UCIUCIUCKU{CBM-R}CK  {lred} {CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}"
320 print"{red} JKJ{CBM-W}  {wht} {CBM-Q}C{CBM-W} BCI{CBM-Q}C{CBM-W}JCI B    {lred} mdcccclxxxv"
330 print"{red} UCCK  {wht} K K{CBM-V}JCKK KUCK K    {lred} {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}"
340 print"{red}      {SHIFT--}{wht} UCI I IU{CBM-R}KI I IU{CBM-R}KI U{CBM-R}I "
350 print"{red} U{CBM-W}UIU{CBM-W}{wht} {CBM-Q}{CBM-R}K BBB B B {CBM-Q}C{CBM-W} {CBM-Q} B BBB "
360 print"{red} JKKKJK{wht} KJ {CBM-V}J{CBM-E}KU{CBM-E}KJCJ J {CBM-E}KJCJ J "
370 print"{cyn}              {CBM-A}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{CBM-S}"
380 print"{cyn}        press {SHIFT--}{lred} f1 {cyn}{SHIFT--} to start"
390 print"{cyn}              {CBM-Z}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{CBM-X}"
400 fort=1to5000:nextt
410 geta$:ifa$<>"{f1}"then410
420 gosub20000
421 :
422 rem  ******************************
423 rem  * einleitungstext            *
424 rem  ******************************
425 :
438 print"{clr}"chr$(142)chr$(8)
439 print"          {red}s {cyn}h {pur}u {grn}g {blu}u {yel}n"
440 print
450 print" sie befinden sich im alten china"
460 print" vor rund 2000 jahren."
470 print" bei einem feldzug gegen die rebellen"
480 print" hat sie der grosse khan"
490 print" comm-o-dor lxiv. gefangengenommen."
500 print" es besteht nur noch eine geringe"
510 print" chance, ihr leben zu retten."
520 print" sie muessen ihn im shugun besiegen..."
530 print" der, der die shugun-schlacht"
540 print" verliert, wird mit einem  "
550 print" felsbrocken am fuss im jangtsekiang "
560 print" versenkt. "
570 print"{down} die spielregeln dieses spieles ent-"
580 print" sprechen denen des strategiespiels"
590 print" 'shogun' (tm)."
600 print"{down}{wht} kennen sie diese regeln (j/n) ?"
610 geta$:z=int(rnd(1)):ifa$=""then610
620 ifa$="n"thengoto2840
630 ifa$="j"then650
640 goto610
650 print"{down} viel glueck, fremder !"
660 fori=1to1000:next
661 :
662 rem  ******************************
663 rem  * spielfeld zeichnen         *
664 rem  ******************************
670 :
680 poke53275,0:poke53281,2:poke53280,2
690 print"{clr}":printchr$(142)chr$(8)"{home}"
700 fori=1to3:print"{yel}{rvon}                                       {rvof}":next
710 fori=1to16:print"{yel}{rvon}   {rvof}";tab(19);"{rvon}                    {rvof}" :next
720 fori=1to3:print"{yel}{rvon}                                       {rvof}":next
730 fori=1103to1943step40:pokei,160:next:fori=55335to56215step40:pokei,7:next
740 print"{home}{blk}"
750 print"{down}{down}{rght}{rght} {CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P} "
760 fori=1to8
770 print"{rght}{rght}{CBM-N}OPOPOPOPOPOPOPOP{CBM-H}"
780 print"{rght}{wht}";chr$(i+64);"{blk}{CBM-N}L{SHIFT-@}L{SHIFT-@}L{SHIFT-@}L{SHIFT-@}L{SHIFT-@}L{SHIFT-@}L{SHIFT-@}L{SHIFT-@}{CBM-H}"
790 next
800 print"{blk}{rght}{rght} {CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y} "
810 print"{wht}{rght}{rght}{rght}{rght}1{rght}2{rght}3{rght}4{rght}5{rght}6{rght}7{rght}8"
820 print"{home}{blk}"
830 fori=1to22
840 printtab(22)"{yel}{CBM-J}"
850 next
860 :
861 rem  ******************************
862 rem  * sprites aktivieren         *
980 rem  ******************************
981 :
990 v=53248
1000 pokev+39,1:pokev+40,5:pokev+41,6:pokev+42,5:pokev+43,5:pokev+44,5
1010 pokev+45,5:pokev+46,5
1020 fori=0to62:reads1:pokei+832,s1:next
1030 fori=0to62:reads2:pokei+896,s2:next
1040 fori=0to62:reads3:pokei+960,s3:next
1050 poke2040,13:poke2041,14:poke2042,15
1060 poke2043,14:poke2044,14:poke2045,14
1070 poke2046,14:poke2047,14
1080 pokev+21,255:pokev+23,255:pokev+29,255
1090 pokev,255:pokev+1,62
1100 pokev+2,185:pokev+3,185
1110 pokev+4,205:pokev+5,180
1120 pokev+6,235:pokev+7,170
1130 pokev+8,215:pokev+9,150
1140 pokev+10,235:pokev+11,200
1150 pokev+12,170:pokev+13,70
1160 pokev+14,180:pokev+15,130
1161 :
1162 rem  *****************************
1163 rem  * zuganzeige                *
1164 rem  *****************************
1165 :
1170 print"{home}{down}{down}{down}{down}{down}{down}";
1180 printtab(24)"{rvon}{lred}U{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}I"
1190 printtab(24)"{rvon}{lred}{SHIFT--}UIIUIUUIIUUI{SHIFT--}"
1200 printtab(24)"{rvon}{lred}{SHIFT--}JI{CBM-Q}{CBM-W}{SHIFT--}{SHIFT--}{SHIFT--}{CBM-R}{SHIFT--}{SHIFT--}{SHIFT--}{SHIFT--}{SHIFT--}"
1210 printtab(24)"{rvon}{lred}{SHIFT--}JKKJJKJKJKKJ{SHIFT--}"
1220 printtab(24)"{rvon}{lred}J{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}K"
1230 printtab(23)"{yel}{rvon}{down} ihr zug:   -{rvof}"
1240 printtab(23)"{yel}{rvon} {CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}"
1250 printtab(26)"{rvon}   r. wilhelm"
1260 print:printtab(34)"{rvon}&"
1270 print:printtab(32)"{rvon}a. gast"
1280 print:printtab(31)"{rvon}a&r soft"
1290 print"{home}{down}{down}{down}"tab(24)"{rvon}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}    {CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}"
1300 print"{home}{down}{down}{down}{down}"tab(24)"{rvon}mdcccc   +lxxxv"
1310 print"{home}{down}{down}{down}{down}{down}"tab(24)"{rvon}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}    {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}"
1320 :
1321 rem  *****************************
1322 rem  * spielsteine zeichnen      *
1323 rem  *****************************
1330 :
1340 print"{home}{lblu}"
1350 print"{down}{down}{down}";
1360 print"{rght}{rght}{rght}{rvon}{CBM-A} {CBM-A} {CBM-A} {CBM-A} Z {CBM-A} {CBM-A} {CBM-A} "
1370 print"{rght}{rght}{rght}{rvon}{CBM-Z}{CBM-X}{CBM-Z}{CBM-X}{CBM-Z}{CBM-X}{CBM-Z}{CBM-X}ZZ{CBM-Z}{CBM-X}{CBM-Z}{CBM-X}{CBM-Z}{CBM-X}"
1380 print"{wht}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}";
1390 print"{rght}{rght}{rght}{rvon}U U U U Q U U U "
1400 print"{rght}{rght}{rght}{rvon}JKJKJKJKQQJKJKJK"
1401 :
1402 rem  *****************************
1403 rem  * variablendefinition       *
1404 rem  *****************************
1410 :
1420 fori=1to8:pa(i)=1185+2*i:next
1430 fori=1to8:pb(i)=1745+2*i:next
1440 fori=1to8:z=int(rnd(1)*4+1):fa(i)=z:next
1450 fori=1to8:z=int(rnd(1)*4+1):fb(i)=z:next
1460 :
1470 fori=1to8:pokepa(i)+1,fa(i)+48+128::poke54273+pa(i),14:next
1480 fori=1to8:pokepb(i)+1,fb(i)+48+128::poke54273+pb(i), 1:next
1490 goto3360
1500 :
1501 rem  *****************************
1502 rem  * eingabe pruefen           *
1503 rem  *****************************
1510 :
1520 zu$=zu$(1)+zu$(2)
1530 fori=1to4
1540 z$(i)=mid$(zu$,i,1)
1550 next
1560 fori=0to7
1570 ifz$(1)=chr$(i+65)thenz$(1)=str$(i)
1580 next
1590 fori=0to7
1600 ifz$(3)=chr$(i+65)thenz$(3)=str$(i)
1610 next
1620 :
1630 fx=val(z$(3))-val(z$(1))
1640 fy=val(z$(4))-val(z$(2))
1650 :
1660 px=1185+(val(z$(1))*80)
1670 py=px+(val(z$(2))*2)
1680 p=py
1690 fori=1to8
1700 ifpb(i)=pthen1730
1710 next
1720 goto3360
1730 f=fb(i)
1740 if f<>(abs(fx)+abs(fy))then3360
1750 :
1760 s=i
1770 fx=fx*80
1780 fy=fy*2
1790 zp=p+fx+fy
1800 fori=1to8
1810 ifzp=pb(i)then3360
1820 nexti
1830 :
1840 fori=1to8
1850 ifzp=pa(i)thengosub3550:goto1870
1860 nexti
1870 ifs= 5thens(1)=209:s(2)=160:s(3)=209:s(4)=209:goto1890
1880 ifs<>5thens(1)=213:s(2)=160:s(3)=202:s(4)=203
1890 pokepb(s),79:poke54272+pb(s),0
1900 pokepb(s)+1,80:poke54272+pb(s)+1,0
1910 pokepb(s)+40,76:poke54272+pb(s)+40,0
1920 pokepb(s)+41,122:poke54272+pb(s)+41,0
1930 pokezp,s(1):pokezp+1,s(2):pokezp+40,s(3):pokezp+41,s(4)
1940 poke54272+zp,1:poke54272+zp+1,1:poke54272+zp+40,1:poke54272+zp+41,1
1950 z=int(rnd(1)*4+1)
1960 fb(s)=z
1970 pb(s)=zp:pokezp+1,128+z+48
1971 :
1972 rem  *****************************
1973 rem  * computer-strategie        *
1974 rem  *****************************
1980 :
1990 fori=1to8:ifpa(i)=200then2030
2000 xa(i)=pa(i)-1187:ya(i)=int(xa(i)/80)
2010 xa(i)=xa(i)-80*ya(i):ya(i)=16*ya(i)
2020 za(i)=xa(i)/2:xa(i)=ya(i)+za(i)
2030 next:fori=1to8:ifpb(i)=200then2060
2040 xb(i)=pb(i)-1187:yb(i)=int(xb(i)/80):xb(i)=xb(i)-80*yb(i):yb(i)=16*yb(i)
2050 zb(i)=xb(i)/2:xb(i)=yb(i)+zb(i)
2060 next:fori=1to8:ifnotpb(i)=200thenpoke53212+i,xb(i)
2070 ifpb(i)=200thenpoke53212+i,pb(i)
2080 next:fori=1to8:ifnotpa(i)=200thenpoke53112+i,xa(i)
2090 ifpa(i)=200thenpoke53112+i,pa(i)
2100 next:fori=1to8:poke53202+i,fb(i):next
2110 fori=1to8:poke53102+i,fa(i):next
2120 sys49152:c1=peek(52970):es=peek(53244):c2=peek(52969)
2130 ifes=200andc2=200then2200
2140 if(es>0andes<9)andc2=200thengosub2790:goto2230
2150 ifes=200and(c2>0andc2<9)then2390
2160 if(es>0andes<9)andc1=5then2390
2170 ifes=5thengosub2790:goto2230
2180 if(es>0andes<9)and(c2>0andc2<9)then2390
2190 :
2191 rem  *****************************
2192 rem  * computer zieht            *
2193 rem  *****************************
2194 :
2200 p=0:fori=53100to52972step-2:ifpeek(i)<>200thenp=p+1:nexti
2210 z=int((rnd(1))*p)*2:z=53101-z
2220 zp=peek(z):s=peek(z-1)
2230 x=int(zp/16):zp=zp-16*x:x=x*80:y=zp*2:zp=1187+x+y
2240 p=pa(s)
2250 pokep,79:pokep+1,80:pokep+40,76:pokep+41,122
2260 poke54272+p,0:poke54272+p+1,0:poke54272+p+40,0:poke54272+p+41,0
2270 ifs=5thens(1)=218:s(2)=160:s(3)=218:s(4)=218:goto2290
2280 ifs<>5thens(1)=240:s(2)=160:s(3)=237:s(4)=253
2290 pokezp,s(1)
2300 pokezp+1,s(2)
2310 pokezp+40,s(3)
2320 pokezp+41,s(4)
2330 poke54272+zp,14
2340 poke54272+zp+1,14
2350 poke54272+zp+40,14
2360 poke54272+zp+41,14
2370 pa(s)=zp:z=int(rnd(1)*4+1):pokezp+1,z+48+128:fa(s)=z
2380 goto1490
2381 :
2382 rem  *****************************
2383 rem  * computer kann schlagen    *
2384 rem  *****************************
2390 :
2391 z=int(rnd(1)*(lev+1)+1):ifz=1andnotlev=9then2190
2400 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}";
2410 print"{yel}und noch ein setzer von dir draussen..."
2420 poke1983,46:poke56255,7
2430 c1=peek(52970):c2=peek(52969):if(c1<1orc1>8)or(c2<1orc2>8)then2130
2440 p=pb(c1):fora=0to10step2:poke54272+p,a:poke54272+p+1,a:poke54272+p+40,a
2450 poke54272+p+41,a
2460 forfa=1to150:nextfa,a
2470 ifc2= 5thens(1)=218:s(2)=160:s(3)=218:s(4)=218
2480 ifc2<>5thens(1)=240:s(2)=160:s(3)=237:s(4)=253
2490 pokepa(c2)  ,79:poke54272+pa(c2),0
2500 pokepa(c2)+1,80:poke54272+pa(c2)+1,0
2510 pokepa(c2)+40,76:poke54272+pa(c2)+40,0
2520 pokepa(c2)+41,122:poke54272+pa(c2)+41,0
2530 pokepb(c1),s(1):pokepb(c1)+1,s(2):pokepb(c1)+40,s(3):pokepb(c1)+41,s(4)
2540 poke54272+pb(c1),14:poke54272+pb(c1)+1,14:poke54272+pb(c1)+40,14
2550 poke54272+pb(c1)+41,14:z=int(rnd(1)*4+1)
2560 fa(c2)=z
2570 pa(c2)=pb(c1)
2580 pokepa(c2)+1,128+z+48
2590 pb(c1)=200:fb(c1)=0:xb(c1)=200
2600 ifpb(5)=200then3650
2605 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}";
2607 print"                                       "
2610 goto1490
2611 :
2740 rem  *****************************
2750 rem  * unterprogramme            *
2760 rem  *****************************
2761 :
2790 rem  *****************************
2791 rem  * computer wird bedroht     *
2792 rem  *****************************
2793 :
2800 fori=53100to52972step-2
2810 ifpeek(i)<>esthennexti
2820 zp=peek(i+1):s=es:ifzp<>200thenreturn:rem"zug moeglich"
2821 fori=1to8:poke53112+i,xa(es):next
2822 fori=1to8:poke53102+i,fa(es):next
2823 poke53101,200:sys49152
2824 t=53101:zp=peek(t):ifzp<>200then2829
2825 fori=1to8:poke53112+i,xa(i):next
2826 fori=1to8:poke53102+i,fa(i):next
2827 sys49152
2828 goto 2190
2829 fori=52961to52969step2:ifpeek(i)=esthenc1=peek(i+1):c2=peek(i):goto2440
2830 next:fori=1to8:ifnotzp=xa(i)thennext:s=es:return
2831 t=t-2:zp(1)=peek(t):ifzp(1)=zporzp(1)=200then2825
2832 fori=1to8:ifnotzp(1)=xa(i)thennext:zp=zp(1):s=es:return
2833 ift>=52973then2831
2839 goto2825
2840 rem  *****************************
2841 rem  * spielregeln               *
2842 rem  *****************************
2859 :
2860 print"{clr}{rvon}{wht} spielregeln des spiels 'shugun' :      {rvof}"
2870 print" 'shugun' wird auf einem 8 mal 8 felder"
2880 print" grossen spielbrett gespielt."
2890 print" die gegner (sie und der c-64) "
2900 print" ziehen mit einem 8 mann starken "
2910 print" samurai-heer in den kampf."
2920 print" dabei uebernehmen sie das untere heer,"
2930 print" der c-64 das obere heer."
2940 print" auf jedem spielstein erscheint durch"
2950 print" zufall eine zahl zwischen 1 und 4."
2960 print" diese zahl sagt ihnen, wie viele"
2970 print" felder sie mit dieser figur fahren"
2980 print" koennen."
2990 print"                     [return]"
3000 geta$:ifa$<>chr$(13)then3000
3010 print"{clr}"
3020 print" steht auf einem stein nun zum beispiel"
3030 print" eine '4', so koennen sie mit diesem"
3040 print" stein 4 felder fahren. "
3050 print" ( z.b. 4 geradeaus , 2 geradeaus "
3060 print" und 2 nach links oder rechts )"
3070 print" es kann jedoch nur eine x- und eine"
3080 print" y-bewegung pro zug gemacht werden!"
3090 print" sie koennen auch nicht diagonal"
3100 print" fahren ."
3110 print" haben sie einen stein bewegt, so"
3120 print" aendert sich seine zahl wieder"
3130 print" durch zufall."
3140 print" fahren sie nun mit einem stein auf"
3150 print" ein vom gegner besetztes feld, so"
3160 print" wird der gegnerische stein von ihnen"
3170 print" geschlagen."
3180 print"                     [return]"
3190 geta$:ifa$<>chr$(13)then3190
3200 print"{clr}"
3210 print" ein krieger jeder mannschaft ist"
3220 print" besonders gekennzeichnet."
3230 print" es ist der 'shugun'."
3240 print" wird der 'shugun' so bedroht, dass"
3250 print" er nicht mehr ausweichen kann, so ist"
3260 print" das spiel zu ende."
3270 print" auch wenn alle krieger eines heeres"
3280 print" geschlagen sind, ist der kampf vorbei."
3290 print"{down} doch nun genug der worte,"
3300 print" die schlacht beginnt !"
3310 print"{down} viel spass wuenschen die autoren"
3320 print" des spieles !"
3330 geta$:ifa$=""then3330
3340 goto650
3351 :
3352 rem  *****************************
3353 rem  * eingabe des zuges         *
3354 rem  *****************************
3355 :
3360 gosub3500
3370 getz$(1):ifz$(1)=""then3370
3380 ifasc(z$(1))<65orasc(z$(1))>72then3370
3390 print"{home}{rvon}{yel}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"tab(33)z$(1)"{rvon}?"
3400 getz$(2):ifz$(2)=""then3400
3410 ifasc(z$(2))<49orasc(z$(2))>56then3400
3420 print"{home}{rvon}{yel}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"tab(34)z$(2)"-{rvon}?":zu$(1)=z$(1)+z$(2)
3430 getz$(3):ifz$(3)=""then3430
3440 ifasc(z$(3))<65orasc(z$(3))>72then3430
3450 print"{home}{rvon}{yel}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"tab(36)z$(3)"{rvon}?"
3460 getz$(4):ifz$(4)=""then3460
3470 ifasc(z$(4))<49orasc(z$(4))>56then3460
3480 print"{home}{rvon}{yel}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"tab(37)z$(4):zu$(2)=z$(3)+z$(4)
3490 goto1500
3500 print"{home}{yel}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"tab(33)"{rvon}{yel}?*-**"
3510 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}";
3520 print"                                       ":poke1983,32
3530 return
3540 :
3550 rem  *****************************
3551 rem  * spieler schlaegt          *
3552 rem  *****************************
3553 :
3560 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}";
3570 print"{yel}ausnahmsweise mal ein guter zug von dir":poke1983,33:poke56255,7
3580 fora=0to10step2:poke54272+zp,a:poke54272+zp+1,a:poke54272+zp+40,a
3590 poke54272+zp+41,a
3600 forfa=1to150:nextfa
3610 nexta
3620 pa(i)=200:fa(i)=0:xa(i)=200
3630 ifpa(5)=200then3650
3640 return
3641 :
3642 rem  *****************************
3643 rem  * spielende (graphik & text)*
3644 rem  *****************************
3650 :
3651 fora=0to10step2:poke53281,a:poke53280,a:forfq=0to150:nextfq,a
3653 ifpa(5)=200thengew$="b"
3654 ifpb(5)=200thengew$="a"
3660 v=53248:pokev+21,0:fori=0to62:readq:poke832+i,q:next
3740 poke2042,13:pokev+41,1
3750 print"{clr}";:poke53281,0:poke53280,0
3760 print"{down}{wht}";
3770 print"    {CBM-@}{CBM-P}{CBM-O}{CBM-O}{CBM-O}{CBM-I}{CBM-I}{CBM-I}{CBM-O}{CBM-P}      {CBM-@}{CBM-P}{CBM-O}{CBM-I}{CBM-I}{CBM-I}{CBM-O}"
3780 print"    {CBM-T}{CBM-Y}{CBM-U}{rvon}{CBM-I}{CBM-O}{CBM-O}{CBM-P}{CBM-I}{rvof}{CBM-Y}       {CBM-T}{CBM-Y}{CBM-U}{rvon}{CBM-I}{CBM-O}{rvof}{CBM-U}{CBM-Y}{CBM-T}"
3790 print"{down}        {CBM-@}{CBM-P}{CBM-P}{CBM-P}{CBM-O}{CBM-O}{CBM-I}{CBM-I}{CBM-I}{rvon}{CBM-Y}{CBM-Y}{CBM-T}{CBM-T}{CBM-Y}{CBM-Y}{rvof}{CBM-I}{CBM-I}{CBM-I}{CBM-O}{CBM-P}{CBM-@}{CBM-@}"
3800 print"        {CBM-T}{CBM-Y}{CBM-U}{rvon}{CBM-I}{CBM-O}{CBM-P}         {CBM-O}{CBM-I}{rvof}{CBM-U}{CBM-U}{CBM-Y}{CBM-T}{CBM-T}{CBM-T}{CBM-T}"
3810 print"             {CBM-T}{CBM-Y}{CBM-Y}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U} "
3820 print"{brn}{down}{down}";
3830 print"{CBM-I}{CBM-O}{CBM-O}{CBM-P}{CBM-@}{CBM-P}{CBM-O}{CBM-P}{CBM-@}{CBM-@}{CBM-O}{CBM-I}{CBM-O}"
3840 print"{rvon}            {rvof}{SHIFT-POUND}"
3850 print"{rvon}           {rvof}{SHIFT-POUND}"
3860 print"{rvon}          {rvof}{CBM-K}"
3870 print"{rvon}          {rvof}{CBM-H}"
3880 print"{rvon}          {rvof}"
3890 print"{rvon}         {rvof}{SHIFT-POUND}"
3900 print"{rvon}         {rvof}"
3910 print"{rvon}        {rvof}{SHIFT-POUND}"
3920 print"{rvon}        {rvof}"
3930 print"{rvon}        {rvof}"
3940 print"{brn}{rvon}        {rvof}{orng}{CBM-B} "
3950 print"{brn}{rvon}       {rvof}{SHIFT-POUND}{orng}{CBM-B}{CBM-B}{CBM-D}"
3960 print"{brn}{rvon}       {rvof}{CBM-H}{orng}{CBM-B}{CBM-P}{CBM-P}{CBM-@}{CBM-P}{CBM-O}{CBM-I}{CBM-O}{CBM-O}{CBM-P}{CBM-P}{CBM-@}{CBM-@}{CBM-@}{CBM-O}{CBM-I}{CBM-I}{CBM-P}{CBM-@}{CBM-@}{CBM-P}{CBM-O}{CBM-I}{CBM-P}{CBM-@}{CBM-@}{CBM-P}{CBM-O}{CBM-O}{CBM-P}{CBM-@}{CBM-@}{brn}";
3970 print"{brn}{rvon}       {rvof}{orng}{rvon}                                 ";
3980 print"{brn}{rvon}       {rvof}{orng}{rvon}                                {home}{rvof}";
3990 poke2023,160:poke56295,8
3991 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}"tab(17)"{red}g {cyn}a {pur}m {grn}e  {blu}o {yel}v {orng}e {brn}r"
3992 ifgew$="b"then4004
3993 print:print"{red}{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"tab(17)"der khan hat dich be-"
3994 printtab(17)"siegt.qualvoll stirbst"
3995 printtab(17)"du im jangtsekiang...":goto 4008
4004 print:print"{red}{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"tab(17)"du hast den khan be-"
4005 printtab(17)"siegt.qualvoll stirbt"
4006 printtab(17)"er im jangtsekiang..."
4008 fori=1to4000:next
4009 pokev+4,130:pokev+5,100:pokev+21,4
4010 poke53275,255:pokev+23,0:pokev+29,0
4020 fori=100to255
4030 pokev+5,i:fort=1to15:nextt
4040 next
4050 print"{rvof}{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}";
4060 printtab(11)"{yel}u{down}{rght}a{down}{rght}r{down}{rght}g{down}{rght}h"
4070 fory=1to2000:nexty
4160 printtab(17)"{up}{up}{up}{up}{up}{up} noch ein spiel(j/n)?"
4170 geta$:ifa$<>"j"anda$<>"n"then4170
4180 ifa$="j"thenrun
4190 ifa$="n"thensys64738
9000 :
9001 rem  *****************************
9002 rem  * daten fuer sprites        *
9003 rem  *****************************
9004 :
10000 rem  ---sprite 1-saebel----------
10010 data192,0,3,224,0,7,112,0,14,56,0,28,28,0,56,14,0,112,7,0
10020 data224,3,129,192,1,195,128,0,231,0,0,110,0,0,28,0,0,56,0,0,118
10030 data0,24,231,24,13,195,176,7,129,224,7,0,224,13,129,176,24,195,24,48,0,12
10040 rem  ---sprite 2-baum  ----------
10050 data0,0,0,0,0,0,0,0,0,0,8,0,0,24,0,0,24,0,0,60,0,0,60,0,0,126,0,0,126,0
10060 data0,255,0,0,255,0,1,255,128,3,255,192,3,255,192,7,255,224,15,255
10070 data240,28,60,56,0,60,0,0,126,0,0,255,0
10080 rem  ---sprite 3-zelt  ----------
10090 data0,0,0,0,65,8,0,33,16,0,125,32,0,125,64,0,61,128,0,59,0,0,125,0,0,253,0
10100 data1,251,0,3,247,128,7,247,192,15,227,224,15,193,240,31,128,240,63,128,248
10110 data63,128,248,127,128,252,127,128,252,127,128,252,255,255,254
10120 rem  ---sprite 4-mann  ----------
10130 data 0,192,0,17,226,0,9,228,0,4
10140 data 200,0,3,240,0,1,224,0,1,224
10150 data 0,1,224,0,1,224,0,1,224,0
10160 data 1,32,0,1,32,0,1,32,0,3
10170 data 48,0,2,0,0,4,0,0,8,0
10180 data 0,112,0,0,248,0,0,248,0,0
10190 data 240,0,0
10200 :
10201 rem  ****************************
10202 rem  * leveleingabe (1-9)       *
10203 rem  ****************************
20000 :
20010 print"{clr}{down}{down}"
20020 print" waehlen sie den schwierigkeitsgrad:"
20030 print:print
20040 printtab(10)"{red}(1) - {yel}vollidiot"
20050 printtab(10)"{red}(2) - {yel}leicht beschraenkt"
20060 printtab(10)"{red}(3) - {yel}hobbyspastiker"
20070 printtab(10)"{red}(4) - {yel}anfaenger"
20080 printtab(10)"{red}(5) - {yel}amateur"
20090 printtab(10)"{red}(6) - {yel}fortgeschrittener"
20100 printtab(10)"{red}(7) - {yel}profi"
20110 printtab(10)"{red}(8) - {yel}selbstmoerder"
20120 printtab(10)"{red}(9) - {yel}angeber"
20130 print:printtab(8)"  {wht}nummer >   <"
20140 geta$:ifval(a$)<1orval(a$)>9then20140
20150 print"{up}"tab(19)a$:lev=val(a$)
20160 fori=1to1000:next
20170 return
30000 :
30010 rem  ****************************
30020 rem  * ende des programms       *
30030 rem  ****************************
 10 REM  ************************** 
 20 REM  *                        * 
 30 REM  *    S  H  U  G  U  N    * 
 40 REM  *                        * 
 50 REM  *           BY           * 
 60 REM  *      ANDREAS GAST      * 
 70 REM  *    & RAINER WILHELM    * 
 80 REM  *                        * 
 90 REM  *    1984/85 ETTENHEIM   * 
 91 REM  *                        * 
 92 REM  ************************** 
 93 : 
 94 REM  ************************** 
 95 REM  * 'REM-ZEILEN' AUCH AB-  * 
 96 REM  * TIPPEN...              * 
 97 REM  ************************** 
 121 : 
 125 REM ****************************** 
 130 REM * TITELBILD                  * 
 132 REM ****************************** 
 133 : 
 140 POKE 53281,0:POKE 53280,0:PRINTCHR$ (142)CHR$ (8) 
 150 PRINT"{CLR,WHITE}"; 
 160 PRINT" UCCCCC*CCCI UCIU*IU*IU*IU*IU*IURKU*K" 
 170 PRINT" BUCC*CCCCIB QCKQRKQ* J*IQ* - - - J*I V" 
 180 PRINT" BB{GREEN,SPACE}A & R{SPACE,WHITE}BB K{2SPACE}KJ J*KJ*KJ*KJ J K J*K V" 
 190 PRINT" BB{GREEN,SPACE}UUUUU{SPACE,WHITE}BB{3SPACE}" 
 200 PRINT" BB{GREEN,SPACE}SOFT*{WHITE,SPACE}BB{3SPACE}" 
 210 PRINT" BJCC*CCCCKB{7SPACE,RED}S{SPACE,CYAN}H{SPACE,PURPLE}U{SPACE,GREEN}G{SPACE,BLUE}U{SPACE,YELLOW}N" 
 220 PRINT"{WHITE,SPACE}JCCCI U*CCK{5SPACE}" 
 230 PRINT" ACCCK JC*CS{5SPACE,YELLOW}A STRATEGIC GAME" 
 240 PRINT"{WHITE,SPACE}BE{RVSON}I{RVOFF}E{SPACE,2SPACE}E{RVSON}I{RVOFF}EQI" 
 250 PRINT" ZCCCCCC*CCXB{7SPACE,YELLOW,SPACE}FOR THE" 
 260 PRINT"{WHITE,12SPACE}-{13SPACE,LIG.RED,SPACE}@@@@{WHITE}" 
 270 PRINT" ACCCCCCCC*S-{3SPACE,LIG.RED,SPACE}COMMODORE LXIV{WHITE}" 
 280 PRINT" BBBBBBBBBBQK{13SPACE,LIG.RED,SPACE}TTTT{WHITE}" 
 290 PRINT" JCCCCCCCCCK{5SPACE}" 
 300 PRINT"{17SPACE}" 
 310 PRINT"{RED,SPACE}QIII{2SPACE,WHITE,SPACE}UCI UCIUCIUCKURCK{2SPACE,LIG.RED,SPACE}@@@@@@@@@@@" 
 320 PRINT"{RED,SPACE}JKJW{2SPACE,WHITE,SPACE}QCW BCIQCWJCI B{4SPACE,LIG.RED,SPACE}MDCCCCLXXXV" 
 330 PRINT"{RED,SPACE}UCCK{2SPACE,WHITE,SPACE}K KVJCKK KUCK K{4SPACE,LIG.RED,SPACE}TTTTTTTTTTT" 
 340 PRINT"{RED,6SPACE}-{WHITE,SPACE}UCI I IURKI I IURKI URI " 
 350 PRINT"{RED,SPACE}UWUIUW{WHITE,SPACE}QRK BBB B B QCW Q B BBB " 
 360 PRINT"{RED,SPACE}JKKKJK{WHITE,SPACE}KJ VJEKUEKJCJ J EKJCJ J " 
 370 PRINT"{CYAN,14SPACE}A****S" 
 380 PRINT"{CYAN,8SPACE}PRESS -{LIG.RED,SPACE}F1{SPACE,CYAN}- TO START" 
 390 PRINT"{CYAN,14SPACE}Z****X" 
 400 FOR T=1 TO5000:NEXT T 
 410 GET A$:IF A$<>"{F1}" THEN410 
 420 GOSUB 20000 
 421 : 
 422 REM  ****************************** 
 423 REM  * EINLEITUNGSTEXT            * 
 424 REM  ****************************** 
 425 : 
 438 PRINT"{CLR}"CHR$ (142)CHR$ (8) 
 439 PRINT"{10SPACE,RED}S{SPACE,CYAN}H{SPACE,PURPLE}U{SPACE,GREEN}G{SPACE,BLUE}U{SPACE,YELLOW}N" 
 440 PRINT 
 450 PRINT" SIE BEFINDEN SICH IM ALTEN CHINA" 
 460 PRINT" VOR RUND 2000 JAHREN." 
 470 PRINT" BEI EINEM FELDZUG GEGEN DIE REBELLEN" 
 480 PRINT" HAT SIE DER GROSSE KHAN" 
 490 PRINT" COMM-O-DOR LXIV. GEFANGENGENOMMEN." 
 500 PRINT" ES BESTEHT NUR NOCH EINE GERINGE" 
 510 PRINT" CHANCE, IHR LEBEN ZU RETTEN." 
 520 PRINT" SIE MUESSEN IHN IM SHUGUN BESIEGEN..." 
 530 PRINT" DER, DER DIE SHUGUN-SCHLACHT" 
 540 PRINT" VERLIERT, WIRD MIT EINEM{2SPACE}" 
 550 PRINT" FELSBROCKEN AM FUSS IM JANGTSEKIANG " 
 560 PRINT" VERSENKT. " 
 570 PRINT"{DOWN,SPACE}DIE SPIELREGELN DIESES SPIELES ENT-" 
 580 PRINT" SPRECHEN DENEN DES STRATEGIESPIELS" 
 590 PRINT" 'SHOGUN' (TM)." 
 600 PRINT"{DOWN,WHITE,SPACE}KENNEN SIE DIESE REGELN (J/N) ?" 
 610 GET A$:Z=INT (RND (1)):IF A$="" THEN610 
 620 IF A$="N" THENGOTO 2840 
 630 IF A$="J" THEN650 
 640 GOTO 610 
 650 PRINT"{DOWN,SPACE}VIEL GLUECK, FREMDER !" 
 660 FOR I=1 TO1000:NEXT 
 661 : 
 662 REM  ****************************** 
 663 REM  * SPIELFELD ZEICHNEN         * 
 664 REM  ****************************** 
 670 : 
 680 POKE 53275,0:POKE 53281,2:POKE 53280,2 
 690 PRINT"{CLR}":PRINTCHR$ (142)CHR$ (8)"{HOME}" 
 700 FOR I=1 TO3:PRINT"{YELLOW,RVSON,39SPACE,RVOFF}":NEXT 
 710 FOR I=1 TO16:PRINT"{YELLOW,RVSON,3SPACE,RVOFF}";TAB( 19);"{RVSON,20SPACE,RVOFF}" :NEXT 
 720 FOR I=1 TO3:PRINT"{YELLOW,RVSON,39SPACE,RVOFF}":NEXT 
 730 FOR I=1103 TO1943STEP 40:POKE I,160:NEXT :FOR I=55335 TO56215STEP 40:POKE I,7:NEXT 
 740 PRINT"{HOME,BLACK}" 
 750 PRINT"{2DOWN,2RIGHT,SPACE}PPPPPPPPPPPPPPPP " 
 760 FOR I=1 TO8 
 770 PRINT"{2RIGHT}NOPOPOPOPOPOPOPOPH" 
 780 PRINT"{RIGHT,WHITE}";CHR$ (I+64);"{BLACK}NL@L@L@L@L@L@L@L@H" 
 790 NEXT 
 800 PRINT"{BLACK,2RIGHT,SPACE}YYYYYYYYYYYYYYYY " 
 810 PRINT"{WHITE,4RIGHT}1{RIGHT}2{RIGHT}3{RIGHT}4{RIGHT}5{RIGHT}6{RIGHT}7{RIGHT}8" 
 820 PRINT"{HOME,BLACK}" 
 830 FOR I=1 TO22 
 840 PRINTTAB( 22)"{YELLOW}J" 
 850 NEXT 
 860 : 
 861 REM  ****************************** 
 862 REM  * SPRITES AKTIVIEREN         * 
 980 REM  ****************************** 
 981 : 
 990 V=53248 
 1000 POKE V+39,1:POKE V+40,5:POKE V+41,6:POKE V+42,5:POKE V+43,5:POKE V+44,5 
 1010 POKE V+45,5:POKE V+46,5 
 1020 FOR I=0 TO62:READ S1:POKE I+832,S1:NEXT 
 1030 FOR I=0 TO62:READ S2:POKE I+896,S2:NEXT 
 1040 FOR I=0 TO62:READ S3:POKE I+960,S3:NEXT 
 1050 POKE 2040,13:POKE 2041,14:POKE 2042,15 
 1060 POKE 2043,14:POKE 2044,14:POKE 2045,14 
 1070 POKE 2046,14:POKE 2047,14 
 1080 POKE V+21,255:POKE V+23,255:POKE V+29,255 
 1090 POKE V,255:POKE V+1,62 
 1100 POKE V+2,185:POKE V+3,185 
 1110 POKE V+4,205:POKE V+5,180 
 1120 POKE V+6,235:POKE V+7,170 
 1130 POKE V+8,215:POKE V+9,150 
 1140 POKE V+10,235:POKE V+11,200 
 1150 POKE V+12,170:POKE V+13,70 
 1160 POKE V+14,180:POKE V+15,130 
 1161 : 
 1162 REM  ***************************** 
 1163 REM  * ZUGANZEIGE                * 
 1164 REM  ***************************** 
 1165 : 
 1170 PRINT"{HOME,6DOWN}"; 
 1180 PRINTTAB( 24)"{RVSON,LIG.RED}U************I" 
 1190 PRINTTAB( 24)"{RVSON,LIG.RED}-UIIUIUUIIUUI-" 
 1200 PRINTTAB( 24)"{RVSON,LIG.RED}-JIQW---R-----" 
 1210 PRINTTAB( 24)"{RVSON,LIG.RED}-JKKJJKJKJKKJ-" 
 1220 PRINTTAB( 24)"{RVSON,LIG.RED}J************K" 
 1230 PRINTTAB( 23)"{YELLOW,RVSON,DOWN,SPACE}IHR ZUG:{3SPACE}-{RVOFF}" 
 1240 PRINTTAB( 23)"{YELLOW,RVSON,SPACE}YYYYYYYYYYYYYYY" 
 1250 PRINTTAB( 26)"{RVSON,3SPACE}R. WILHELM" 
 1260 PRINT:PRINTTAB( 34)"{RVSON}&" 
 1270 PRINT:PRINTTAB( 32)"{RVSON}A. GAST" 
 1280 PRINT:PRINTTAB( 31)"{RVSON}A&R SOFT" 
 1290 PRINT"{HOME,3DOWN}"TAB( 24)"{RVSON}@@@@@@{SPACE,3SPACE}@@@@@" 
 1300 PRINT"{HOME,4DOWN}"TAB( 24)"{RVSON}MDCCCC{SPACE,2SPACE}+LXXXV" 
 1310 PRINT"{HOME,5DOWN}"TAB( 24)"{RVSON}TTTTTT{SPACE,3SPACE}TTTTT" 
 1320 : 
 1321 REM  ***************************** 
 1322 REM  * SPIELSTEINE ZEICHNEN      * 
 1323 REM  ***************************** 
 1330 : 
 1340 PRINT"{HOME,LIG.BLUE}" 
 1350 PRINT"{3DOWN}"; 
 1360 PRINT"{3RIGHT,RVSON}A A A A Z A A A " 
 1370 PRINT"{3RIGHT,RVSON}ZXZXZXZXZZZXZXZX" 
 1380 PRINT"{WHITE,12DOWN}"; 
 1390 PRINT"{3RIGHT,RVSON}U U U U Q U U U " 
 1400 PRINT"{3RIGHT,RVSON}JKJKJKJKQQJKJKJK" 
 1401 : 
 1402 REM  ***************************** 
 1403 REM  * VARIABLENDEFINITION       * 
 1404 REM  ***************************** 
 1410 : 
 1420 FOR I=1 TO8:PA(I)=1185+2*I:NEXT 
 1430 FOR I=1 TO8:PB(I)=1745+2*I:NEXT 
 1440 FOR I=1 TO8:Z=INT (RND (1)*4+1):FA(I)=Z:NEXT 
 1450 FOR I=1 TO8:Z=INT (RND (1)*4+1):FB(I)=Z:NEXT 
 1460 : 
 1470 FOR I=1 TO8:POKE PA(I)+1,FA(I)+48+128::POKE 54273+PA(I),14:NEXT 
 1480 FOR I=1 TO8:POKE PB(I)+1,FB(I)+48+128::POKE 54273+PB(I), 1:NEXT 
 1490 GOTO 3360 
 1500 : 
 1501 REM  ***************************** 
 1502 REM  * EINGABE PRUEFEN           * 
 1503 REM  ***************************** 
 1510 : 
 1520 ZU$=ZU$(1)+ZU$(2) 
 1530 FOR I=1 TO4 
 1540 Z$(I)=MID$ (ZU$,I,1) 
 1550 NEXT 
 1560 FOR I=0 TO7 
 1570 IF Z$(1)=CHR$ (I+65) THENZ$(1)=STR$ (I) 
 1580 NEXT 
 1590 FOR I=0 TO7 
 1600 IF Z$(3)=CHR$ (I+65) THENZ$(3)=STR$ (I) 
 1610 NEXT 
 1620 : 
 1630 FX=VAL (Z$(3))-VAL (Z$(1)) 
 1640 FY=VAL (Z$(4))-VAL (Z$(2)) 
 1650 : 
 1660 PX=1185+(VAL (Z$(1))*80) 
 1670 PY=PX+(VAL (Z$(2))*2) 
 1680 P=PY 
 1690 FOR I=1 TO8 
 1700 IF PB(I)=P THEN1730 
 1710 NEXT 
 1720 GOTO 3360 
 1730 F=FB(I) 
 1740 IF F<>(ABS (FX)+ABS (FY)) THEN3360 
 1750 : 
 1760 S=I 
 1770 FX=FX*80 
 1780 FY=FY*2 
 1790 ZP=P+FX+FY 
 1800 FOR I=1 TO8 
 1810 IF ZP=PB(I) THEN3360 
 1820 NEXT I 
 1830 : 
 1840 FOR I=1 TO8 
 1850 IF ZP=PA(I) THENGOSUB 3550:GOTO 1870 
 1860 NEXT I 
 1870 IF S= 5 THENS(1)=209:S(2)=160:S(3)=209:S(4)=209:GOTO 1890 
 1880 IF S<>5 THENS(1)=213:S(2)=160:S(3)=202:S(4)=203 
 1890 POKE PB(S),79:POKE 54272+PB(S),0 
 1900 POKE PB(S)+1,80:POKE 54272+PB(S)+1,0 
 1910 POKE PB(S)+40,76:POKE 54272+PB(S)+40,0 
 1920 POKE PB(S)+41,122:POKE 54272+PB(S)+41,0 
 1930 POKE ZP,S(1):POKE ZP+1,S(2):POKE ZP+40,S(3):POKE ZP+41,S(4) 
 1940 POKE 54272+ZP,1:POKE 54272+ZP+1,1:POKE 54272+ZP+40,1:POKE 54272+ZP+41,1 
 1950 Z=INT (RND (1)*4+1) 
 1960 FB(S)=Z 
 1970 PB(S)=ZP:POKE ZP+1,128+Z+48 
 1971 : 
 1972 REM  ***************************** 
 1973 REM  * COMPUTER-STRATEGIE        * 
 1974 REM  ***************************** 
 1980 : 
 1990 FOR I=1 TO8:IF PA(I)=200 THEN2030 
 2000 XA(I)=PA(I)-1187:YA(I)=INT (XA(I)/80) 
 2010 XA(I)=XA(I)-80*YA(I):YA(I)=16*YA(I) 
 2020 ZA(I)=XA(I)/2:XA(I)=YA(I)+ZA(I) 
 2030 NEXT :FOR I=1 TO8:IF PB(I)=200 THEN2060 
 2040 XB(I)=PB(I)-1187:YB(I)=INT (XB(I)/80):XB(I)=XB(I)-80*YB(I):YB(I)=16*YB(I) 
 2050 ZB(I)=XB(I)/2:XB(I)=YB(I)+ZB(I) 
 2060 NEXT :FOR I=1 TO8:IF NOT PB(I)=200 THENPOKE 53212+I,XB(I) 
 2070 IF PB(I)=200 THENPOKE 53212+I,PB(I) 
 2080 NEXT :FOR I=1 TO8:IF NOT PA(I)=200 THENPOKE 53112+I,XA(I) 
 2090 IF PA(I)=200 THENPOKE 53112+I,PA(I) 
 2100 NEXT :FOR I=1 TO8:POKE 53202+I,FB(I):NEXT 
 2110 FOR I=1 TO8:POKE 53102+I,FA(I):NEXT 
 2120 SYS 49152:C1=PEEK (52970):ES=PEEK (53244):C2=PEEK (52969) 
 2130 IF ES=200AND C2=200 THEN2200 
 2140 IF (ES>0AND ES<9)AND C2=200 THENGOSUB 2790:GOTO 2230 
 2150 IF ES=200AND (C2>0AND C2<9) THEN2390 
 2160 IF (ES>0AND ES<9)AND C1=5 THEN2390 
 2170 IF ES=5 THENGOSUB 2790:GOTO 2230 
 2180 IF (ES>0AND ES<9)AND (C2>0AND C2<9) THEN2390 
 2190 : 
 2191 REM  ***************************** 
 2192 REM  * COMPUTER ZIEHT            * 
 2193 REM  ***************************** 
 2194 : 
 2200 P=0:FOR I=53100 TO52972STEP -2:IF PEEK (I)<>200 THENP=P+1:NEXT I 
 2210 Z=INT ((RND (1))*P)*2:Z=53101-Z 
 2220 ZP=PEEK (Z):S=PEEK (Z-1) 
 2230 X=INT (ZP/16):ZP=ZP-16*X:X=X*80:Y=ZP*2:ZP=1187+X+Y 
 2240 P=PA(S) 
 2250 POKE P,79:POKE P+1,80:POKE P+40,76:POKE P+41,122 
 2260 POKE 54272+P,0:POKE 54272+P+1,0:POKE 54272+P+40,0:POKE 54272+P+41,0 
 2270 IF S=5 THENS(1)=218:S(2)=160:S(3)=218:S(4)=218:GOTO 2290 
 2280 IF S<>5 THENS(1)=240:S(2)=160:S(3)=237:S(4)=253 
 2290 POKE ZP,S(1) 
 2300 POKE ZP+1,S(2) 
 2310 POKE ZP+40,S(3) 
 2320 POKE ZP+41,S(4) 
 2330 POKE 54272+ZP,14 
 2340 POKE 54272+ZP+1,14 
 2350 POKE 54272+ZP+40,14 
 2360 POKE 54272+ZP+41,14 
 2370 PA(S)=ZP:Z=INT (RND (1)*4+1):POKE ZP+1,Z+48+128:FA(S)=Z 
 2380 GOTO 1490 
 2381 : 
 2382 REM  ***************************** 
 2383 REM  * COMPUTER KANN SCHLAGEN    * 
 2384 REM  ***************************** 
 2390 : 
 2391 Z=INT (RND (1)*(LEV+1)+1):IF Z=1AND NOT LEV=9 THEN2190 
 2400 PRINT"{HOME,23DOWN}"; 
 2410 PRINT"{YELLOW}UND NOCH EIN SETZER VON DIR DRAUSSEN..." 
 2420 POKE 1983,46:POKE 56255,7 
 2430 C1=PEEK (52970):C2=PEEK (52969):IF (C1<1OR C1>8)OR (C2<1OR C2>8) THEN2130 
 2440 P=PB(C1):FOR A=0 TO10STEP 2:POKE 54272+P,A:POKE 54272+P+1,A:POKE 54272+P+40,A 
 2450 POKE 54272+P+41,A 
 2460 FOR FA=1 TO150:NEXT FA,A 
 2470 IF C2= 5 THENS(1)=218:S(2)=160:S(3)=218:S(4)=218 
 2480 IF C2<>5 THENS(1)=240:S(2)=160:S(3)=237:S(4)=253 
 2490 POKE PA(C2)  ,79:POKE 54272+PA(C2),0 
 2500 POKE PA(C2)+1,80:POKE 54272+PA(C2)+1,0 
 2510 POKE PA(C2)+40,76:POKE 54272+PA(C2)+40,0 
 2520 POKE PA(C2)+41,122:POKE 54272+PA(C2)+41,0 
 2530 POKE PB(C1),S(1):POKE PB(C1)+1,S(2):POKE PB(C1)+40,S(3):POKE PB(C1)+41,S(4) 
 2540 POKE 54272+PB(C1),14:POKE 54272+PB(C1)+1,14:POKE 54272+PB(C1)+40,14 
 2550 POKE 54272+PB(C1)+41,14:Z=INT (RND (1)*4+1) 
 2560 FA(C2)=Z 
 2570 PA(C2)=PB(C1) 
 2580 POKE PA(C2)+1,128+Z+48 
 2590 PB(C1)=200:FB(C1)=0:XB(C1)=200 
 2600 IF PB(5)=200 THEN3650 
 2605 PRINT"{HOME,23DOWN}"; 
 2607 PRINT"{39SPACE}" 
 2610 GOTO 1490 
 2611 : 
 2740 REM  ***************************** 
 2750 REM  * UNTERPROGRAMME            * 
 2760 REM  ***************************** 
 2761 : 
 2790 REM  ***************************** 
 2791 REM  * COMPUTER WIRD BEDROHT     * 
 2792 REM  ***************************** 
 2793 : 
 2800 FOR I=53100 TO52972STEP -2 
 2810 IF PEEK (I)<>ES THENNEXT I 
 2820 ZP=PEEK (I+1):S=ES:IF ZP<>200 THENRETURN :REM "ZUG MOEGLICH" 
 2821 FOR I=1 TO8:POKE 53112+I,XA(ES):NEXT 
 2822 FOR I=1 TO8:POKE 53102+I,FA(ES):NEXT 
 2823 POKE 53101,200:SYS 49152 
 2824 T=53101:ZP=PEEK (T):IF ZP<>200 THEN2829 
 2825 FOR I=1 TO8:POKE 53112+I,XA(I):NEXT 
 2826 FOR I=1 TO8:POKE 53102+I,FA(I):NEXT 
 2827 SYS 49152 
 2828 GOTO 2190 
 2829 FOR I=52961 TO52969STEP 2:IF PEEK (I)=ES THENC1=PEEK (I+1):C2=PEEK (I):GOTO 2440 
 2830 NEXT :FOR I=1 TO8:IF NOT ZP=XA(I) THENNEXT :S=ES:RETURN 
 2831 T=T-2:ZP(1)=PEEK (T):IF ZP(1)=ZPOR ZP(1)=200 THEN2825 
 2832 FOR I=1 TO8:IF NOT ZP(1)=XA(I) THENNEXT :ZP=ZP(1):S=ES:RETURN 
 2833 IF T>=52973 THEN2831 
 2839 GOTO 2825 
 2840 REM  ***************************** 
 2841 REM  * SPIELREGELN               * 
 2842 REM  ***************************** 
 2859 : 
 2860 PRINT"{CLR,RVSON,WHITE,SPACE}SPIELREGELN DES SPIELS 'SHUGUN' :{6SPACE,RVOFF}" 
 2870 PRINT" 'SHUGUN' WIRD AUF EINEM 8 MAL 8 FELDER" 
 2880 PRINT" GROSSEN SPIELBRETT GESPIELT." 
 2890 PRINT" DIE GEGNER (SIE UND DER C-64) " 
 2900 PRINT" ZIEHEN MIT EINEM 8 MANN STARKEN " 
 2910 PRINT" SAMURAI-HEER IN DEN KAMPF." 
 2920 PRINT" DABEI UEBERNEHMEN SIE DAS UNTERE HEER," 
 2930 PRINT" DER C-64 DAS OBERE HEER." 
 2940 PRINT" AUF JEDEM SPIELSTEIN ERSCHEINT DURCH" 
 2950 PRINT" ZUFALL EINE ZAHL ZWISCHEN 1 UND 4." 
 2960 PRINT" DIESE ZAHL SAGT IHNEN, WIE VIELE" 
 2970 PRINT" FELDER SIE MIT DIESER FIGUR FAHREN" 
 2980 PRINT" KOENNEN." 
 2990 PRINT"{21SPACE}[RETURN]" 
 3000 GET A$:IF A$<>CHR$ (13) THEN3000 
 3010 PRINT"{CLR}" 
 3020 PRINT" STEHT AUF EINEM STEIN NUN ZUM BEISPIEL" 
 3030 PRINT" EINE '4', SO KOENNEN SIE MIT DIESEM" 
 3040 PRINT" STEIN 4 FELDER FAHREN. " 
 3050 PRINT" ( Z.B. 4 GERADEAUS , 2 GERADEAUS " 
 3060 PRINT" UND 2 NACH LINKS ODER RECHTS )" 
 3070 PRINT" ES KANN JEDOCH NUR EINE X- UND EINE" 
 3080 PRINT" Y-BEWEGUNG PRO ZUG GEMACHT WERDEN!" 
 3090 PRINT" SIE KOENNEN AUCH NICHT DIAGONAL" 
 3100 PRINT" FAHREN ." 
 3110 PRINT" HABEN SIE EINEN STEIN BEWEGT, SO" 
 3120 PRINT" AENDERT SICH SEINE ZAHL WIEDER" 
 3130 PRINT" DURCH ZUFALL." 
 3140 PRINT" FAHREN SIE NUN MIT EINEM STEIN AUF" 
 3150 PRINT" EIN VOM GEGNER BESETZTES FELD, SO" 
 3160 PRINT" WIRD DER GEGNERISCHE STEIN VON IHNEN" 
 3170 PRINT" GESCHLAGEN." 
 3180 PRINT"{21SPACE}[RETURN]" 
 3190 GET A$:IF A$<>CHR$ (13) THEN3190 
 3200 PRINT"{CLR}" 
 3210 PRINT" EIN KRIEGER JEDER MANNSCHAFT IST" 
 3220 PRINT" BESONDERS GEKENNZEICHNET." 
 3230 PRINT" ES IST DER 'SHUGUN'." 
 3240 PRINT" WIRD DER 'SHUGUN' SO BEDROHT, DASS" 
 3250 PRINT" ER NICHT MEHR AUSWEICHEN KANN, SO IST" 
 3260 PRINT" DAS SPIEL ZU ENDE." 
 3270 PRINT" AUCH WENN ALLE KRIEGER EINES HEERES" 
 3280 PRINT" GESCHLAGEN SIND, IST DER KAMPF VORBEI." 
 3290 PRINT"{DOWN,SPACE}DOCH NUN GENUG DER WORTE," 
 3300 PRINT" DIE SCHLACHT BEGINNT !" 
 3310 PRINT"{DOWN,SPACE}VIEL SPASS WUENSCHEN DIE AUTOREN" 
 3320 PRINT" DES SPIELES !" 
 3330 GET A$:IF A$="" THEN3330 
 3340 GOTO 650 
 3351 : 
 3352 REM  ***************************** 
 3353 REM  * EINGABE DES ZUGES         * 
 3354 REM  ***************************** 
 3355 : 
 3360 GOSUB 3500 
 3370 GET Z$(1):IF Z$(1)="" THEN3370 
 3380 IF ASC (Z$(1))<65OR ASC (Z$(1))>72 THEN3370 
 3390 PRINT"{HOME,RVSON,YELLOW,12DOWN}"TAB( 33)Z$(1)"{RVSON}?" 
 3400 GET Z$(2):IF Z$(2)="" THEN3400 
 3410 IF ASC (Z$(2))<49OR ASC (Z$(2))>56 THEN3400 
 3420 PRINT"{HOME,RVSON,YELLOW,12DOWN}"TAB( 34)Z$(2)"-{RVSON}?":ZU$(1)=Z$(1)+Z$(2) 
 3430 GET Z$(3):IF Z$(3)="" THEN3430 
 3440 IF ASC (Z$(3))<65OR ASC (Z$(3))>72 THEN3430 
 3450 PRINT"{HOME,RVSON,YELLOW,12DOWN}"TAB( 36)Z$(3)"{RVSON}?" 
 3460 GET Z$(4):IF Z$(4)="" THEN3460 
 3470 IF ASC (Z$(4))<49OR ASC (Z$(4))>56 THEN3460 
 3480 PRINT"{HOME,RVSON,YELLOW,12DOWN}"TAB( 37)Z$(4):ZU$(2)=Z$(3)+Z$(4) 
 3490 GOTO 1500 
 3500 PRINT"{HOME,YELLOW,12DOWN}"TAB( 33)"{RVSON,YELLOW}?*-**" 
 3510 PRINT"{HOME,23DOWN}"; 
 3520 PRINT"{39SPACE}":POKE 1983,32 
 3530 RETURN 
 3540 : 
 3550 REM  ***************************** 
 3551 REM  * SPIELER SCHLAEGT          * 
 3552 REM  ***************************** 
 3553 : 
 3560 PRINT"{HOME,23DOWN}"; 
 3570 PRINT"{YELLOW}AUSNAHMSWEISE MAL EIN GUTER ZUG VON DIR":POKE 1983,33:POKE 56255,7 
 3580 FOR A=0 TO10STEP 2:POKE 54272+ZP,A:POKE 54272+ZP+1,A:POKE 54272+ZP+40,A 
 3590 POKE 54272+ZP+41,A 
 3600 FOR FA=1 TO150:NEXT FA 
 3610 NEXT A 
 3620 PA(I)=200:FA(I)=0:XA(I)=200 
 3630 IF PA(5)=200 THEN3650 
 3640 RETURN 
 3641 : 
 3642 REM  ***************************** 
 3643 REM  * SPIELENDE (GRAPHIK & TEXT)* 
 3644 REM  ***************************** 
 3650 : 
 3651 FOR A=0 TO10STEP 2:POKE 53281,A:POKE 53280,A:FOR FQ=0 TO150:NEXT FQ,A 
 3653 IF PA(5)=200 THENGEW$="B" 
 3654 IF PB(5)=200 THENGEW$="A" 
 3660 V=53248:POKE V+21,0:FOR I=0 TO62:READ Q:POKE 832+I,Q:NEXT 
 3740 POKE 2042,13:POKE V+41,1 
 3750 PRINT"{CLR}";:POKE 53281,0:POKE 53280,0 
 3760 PRINT"{DOWN,WHITE}"; 
 3770 PRINT"{4SPACE}@POOOIIIOP{6SPACE}@POIIIO" 
 3780 PRINT"{4SPACE}TYU{RVSON}IOOPI{RVOFF}Y{SPACE,6SPACE}TYU{RVSON}IO{RVOFF}UYT" 
 3790 PRINT"{DOWN,8SPACE}@PPPOOIII{RVSON}YYTTYY{RVOFF}IIIOP@@" 
 3800 PRINT"{8SPACE}TYU{RVSON}IOP{SPACE,8SPACE}OI{RVOFF}UUYTTTT" 
 3810 PRINT"{13SPACE}TYYUUUUUU " 
 3820 PRINT"{BROWN,2DOWN}"; 
 3830 PRINT"IOOP@POP@@OIO" 
 3840 PRINT"{RVSON,12SPACE,RVOFF}£" 
 3850 PRINT"{RVSON,11SPACE,RVOFF}£" 
 3860 PRINT"{RVSON,10SPACE,RVOFF}K" 
 3870 PRINT"{RVSON,10SPACE,RVOFF}H" 
 3880 PRINT"{RVSON,10SPACE,RVOFF}" 
 3890 PRINT"{RVSON,9SPACE,RVOFF}£" 
 3900 PRINT"{RVSON,9SPACE,RVOFF}" 
 3910 PRINT"{RVSON,8SPACE,RVOFF}£" 
 3920 PRINT"{RVSON,8SPACE,RVOFF}" 
 3930 PRINT"{RVSON,8SPACE,RVOFF}" 
 3940 PRINT"{BROWN,RVSON,8SPACE,RVOFF,ORANGE}B " 
 3950 PRINT"{BROWN,RVSON,7SPACE,RVOFF}£{ORANGE}BBD" 
 3960 PRINT"{BROWN,RVSON,7SPACE,RVOFF}H{ORANGE}BPP@POIOOPP@@@OIIP@@POIP@@POOP@@{BROWN}"; 
 3970 PRINT"{BROWN,RVSON,7SPACE,RVOFF,ORANGE,RVSON,33SPACE}"; 
 3980 PRINT"{BROWN,RVSON,7SPACE,RVOFF,ORANGE,RVSON,32SPACE,HOME,RVOFF}"; 
 3990 POKE 2023,160:POKE 56295,8 
 3991 PRINT"{HOME,8DOWN}"TAB( 17)"{RED}G{SPACE,CYAN}A{SPACE,PURPLE}M{SPACE,GREEN}E{2SPACE,BLUE}O{SPACE,YELLOW}V{SPACE,ORANGE}E{SPACE,BROWN}R" 
 3992 IF GEW$="B" THEN4004 
 3993 PRINT:PRINT"{RED,HOME,11DOWN}"TAB( 17)"DER KHAN HAT DICH BE-" 
 3994 PRINTTAB( 17)"SIEGT.QUALVOLL STIRBST" 
 3995 PRINTTAB( 17)"DU IM JANGTSEKIANG...":GOTO 4008 
 4004 PRINT:PRINT"{RED,HOME,11DOWN}"TAB( 17)"DU HAST DEN KHAN BE-" 
 4005 PRINTTAB( 17)"SIEGT.QUALVOLL STIRBT" 
 4006 PRINTTAB( 17)"ER IM JANGTSEKIANG..." 
 4008 FOR I=1 TO4000:NEXT 
 4009 POKE V+4,130:POKE V+5,100:POKE V+21,4 
 4010 POKE 53275,255:POKE V+23,0:POKE V+29,0 
 4020 FOR I=100 TO255 
 4030 POKE V+5,I:FOR T=1 TO15:NEXT T 
 4040 NEXT 
 4050 PRINT"{RVOFF,HOME,18DOWN}"; 
 4060 PRINTTAB( 11)"{YELLOW}U{DOWN,RIGHT}A{DOWN,RIGHT}R{DOWN,RIGHT}G{DOWN,RIGHT}H" 
 4070 FOR Y=1 TO2000:NEXT Y 
 4160 PRINTTAB( 17)"{6UP,SPACE}NOCH EIN SPIEL(J/N)?" 
 4170 GET A$:IF A$<>"J"AND A$<>"N" THEN4170 
 4180 IF A$="J" THENRUN 
 4190 IF A$="N" THENSYS 64738 
 9000 : 
 9001 REM  ***************************** 
 9002 REM  * DATEN FUER SPRITES        * 
 9003 REM  ***************************** 
 9004 : 
 10000 REM  ---SPRITE 1-SAEBEL---------- 
 10010 DATA 192,0,3,224,0,7,112,0,14,56,0,28,28,0,56,14,0,112,7,0 
 10020 DATA 224,3,129,192,1,195,128,0,231,0,0,110,0,0,28,0,0,56,0,0,118 
 10030 DATA 0,24,231,24,13,195,176,7,129,224,7,0,224,13,129,176,24,195,24,48,0,12 
 10040 REM  ---SPRITE 2-BAUM  ---------- 
 10050 DATA 0,0,0,0,0,0,0,0,0,0,8,0,0,24,0,0,24,0,0,60,0,0,60,0,0,126,0,0,126,0 
 10060 DATA 0,255,0,0,255,0,1,255,128,3,255,192,3,255,192,7,255,224,15,255 
 10070 DATA 240,28,60,56,0,60,0,0,126,0,0,255,0 
 10080 REM  ---SPRITE 3-ZELT  ---------- 
 10090 DATA 0,0,0,0,65,8,0,33,16,0,125,32,0,125,64,0,61,128,0,59,0,0,125,0,0,253,0 
 10100 DATA 1,251,0,3,247,128,7,247,192,15,227,224,15,193,240,31,128,240,63,128,248 
 10110 DATA 63,128,248,127,128,252,127,128,252,127,128,252,255,255,254 
 10120 REM  ---SPRITE 4-MANN  ---------- 
 10130 DATA 0,192,0,17,226,0,9,228,0,4 
 10140 DATA 200,0,3,240,0,1,224,0,1,224 
 10150 DATA 0,1,224,0,1,224,0,1,224,0 
 10160 DATA 1,32,0,1,32,0,1,32,0,3 
 10170 DATA 48,0,2,0,0,4,0,0,8,0 
 10180 DATA 0,112,0,0,248,0,0,248,0,0 
 10190 DATA 240,0,0 
 10200 : 
 10201 REM  **************************** 
 10202 REM  * LEVELEINGABE (1-9)       * 
 10203 REM  **************************** 
 20000 : 
 20010 PRINT"{CLR,2DOWN}" 
 20020 PRINT" WAEHLEN SIE DEN SCHWIERIGKEITSGRAD:" 
 20030 PRINT:PRINT 
 20040 PRINTTAB( 10)"{RED}(1) -{SPACE,YELLOW}VOLLIDIOT" 
 20050 PRINTTAB( 10)"{RED}(2) -{SPACE,YELLOW}LEICHT BESCHRAENKT" 
 20060 PRINTTAB( 10)"{RED}(3) -{SPACE,YELLOW}HOBBYSPASTIKER" 
 20070 PRINTTAB( 10)"{RED}(4) -{SPACE,YELLOW}ANFAENGER" 
 20080 PRINTTAB( 10)"{RED}(5) -{SPACE,YELLOW}AMATEUR" 
 20090 PRINTTAB( 10)"{RED}(6) -{SPACE,YELLOW}FORTGESCHRITTENER" 
 20100 PRINTTAB( 10)"{RED}(7) -{SPACE,YELLOW}PROFI" 
 20110 PRINTTAB( 10)"{RED}(8) -{SPACE,YELLOW}SELBSTMOERDER" 
 20120 PRINTTAB( 10)"{RED}(9) -{SPACE,YELLOW}ANGEBER" 
 20130 PRINT:PRINTTAB( 8)"{2SPACE,WHITE}NUMMER >{3SPACE}<" 
 20140 GET A$:IF VAL (A$)<1OR VAL (A$)>9 THEN20140 
 20150 PRINT"{UP}"TAB( 19)A$:LEV=VAL (A$) 
 20160 FOR I=1 TO1000:NEXT 
 20170 RETURN 
 30000 : 
 30010 REM  **************************** 
 30020 REM  * ENDE DES PROGRAMMS       * 
 30030 REM  **************************** 
Listing 2. Hauptprogramm zum Spiel Shugun. Bitte mit SAVE"SHUGUN-LOAD",8(,1) auf Diskette (Kassette) abspeichern.
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →