Basic source for 80 column backgammon game

Started by Blacklord, December 09, 2007, 08:50 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Blacklord

1 goto78
    2 w1=int(rnd(1)*10):ifw1<1orw1>6then2
    3 w2=int(rnd(0)*10):ifw2<1orw2>6then3
    4 printchr$(142)
    5 window39,21,43,23:onw1gosub8,9,10,11,12,13
    6 window48,21,52,23:onw2gosub8,9,10,11,12,13
    7 print"{home}{home}{swlc}":return
    8 print"{gry3}{rvon}       Q       ":return
    9 print"{gry3}{rvon}Q             Q":return
   10 print"{gry3}{rvon}Q      Q      Q":return
   11 print"{gry3}{rvon}Q   Q     Q   Q":return
   12 print"{gry3}{rvon}Q   Q  Q  Q   Q":return
   13 print"{gry3}{rvon}Q   QQ   QQ   Q":return
   14 printchr$(142)
   15 fori=0to5
   16 window0,0,0,0,1:window2+i*6,4,4+i*6,7
   17 iff(24-i,0)=0andf(24-i,1)=0thenprint"{clr}":goto21
   18 iff(24-i,0)>0thenprint"{yel}";:elseprint"{brn}";
   19 iff(24-i,0)>0thenprintleft$(s$,f(24-i,0))chr$(27)"`"
   20 iff(24-i,1)>0thenprintleft$(s$,f(24-i,1))chr$(27)"`"
   21 nexti
   22 window38,2,41,5,1
   23 print"{yel}{$0f}"left$(s$,b0)
   24 fori=0to5
   25 window0,0,0,0,1:window45+i*6,4,47+i*6,7
   26 iff(18-i,0)=0andf(18-i,1)=0thenprint"{clr}":goto30
   27 iff(18-i,0)>0thenprint"{yel}";:elseprint"{brn}";
   28 iff(18-i,0)>0thenprintleft$(s$,f(18-i,0))chr$(27)"`"
   29 iff(18-i,1)>0thenprintleft$(s$,f(18-i,1))chr$(27)"`"
   30 nexti
   31 fori=5to0step-1
   32 window0,0,0,0,1:window45+i*6,13,47+i*6,16
   33 iff(7+i,0)=0andf(7+i,1)=0thenprint"{clr}":goto41
   34 iff(7+i,0)>0thenprint"{yel}";:elseprint"{brn}";
   35 iff(7+i,0)=0then38
   36 iff(7+i,0)<13thenprintleft$(l$,12-f(7+i,0));
   37 printleft$(s$,f(7+i,0))
   38 iff(7+i,1)=0then41
   39 iff(7+i,1)<13thenprintleft$(l$,12-f(7+i,1));
   40 printleft$(s$,f(7+i,1))
   41 nexti
   42 window38,15,41,18,1
   43 print"{brn}{$0f}"left$(l$,16-b1)left$(s$,b1)
   44 fori=5to0step-1
   45 window0,0,0,0,1:window2+i*6,13,4+i*6,16
   46 iff((1+i),0)=0andf((1+i),1)=0thenprint"{clr}":goto54
   47 iff((1+i),0)>0thenprint"{yel}";:elseprint"{brn}";
   48 iff(1+i,0)=0then51
   49 iff(1+i,0)<13thenprintleft$(l$,12-f(1+i,0));
   50 printleft$(s$,f(1+i,0))
   51 iff(1+i,1)=0then54
   52 iff(1+i,1)<13thenprintleft$(l$,12-f(1+i,1));
   53 printleft$(s$,f(1+i,1))
   54 nexti
   55 window0,0,0,0,1
   56 ifa1=15thenprint"{$0f}";
   57 window60,22,79,22:print"{brn}"left$(s$,a1)
   58 window0,0,0,0,1
   59 ifa0=15thenprint"{$0f}";
   60 window60,23,79,23:print"{yel}"left$(s$,a0)
   61 print"{swlc}{home}{home}":return
   62 windowwx,wy,wx+2,wy
   63 poke54784,10:poke54785,64
   64 getkeyi$
   65 ifi$="h"thenpoke54784,10:poke54785,32:gosub533:goto62
   66 ifi$="{up}"ori$="{down}"ori$="{ensh}"ori$=chr$(13)thenprinti$:goto72
   67 ifi$="{home}"theni$=chr$(13)
   68 ifpeek(236)=wxandi$="{left}"theni$="{up}":goto66
   69 print"{yel}"i$;
   70 ifpeek(236)=wx+2theni$="{down}":goto66
   71 goto64
   72 ifi$="{up}"thenzn=1
   73 ifi$="{down}"ori$="{ensh}"thenzn=2
   74 ifi$=chr$(13)thenzn=3
   75 poke21,64:poke208,1:poke842,13
   76 input#1,i$
   77 print"{clr}{yel}"i$"{home}{home}":return
   78 fast:scnclr:poke2594,0:color6,1:dimf(24,1),fa(24,1),pr(24):s$="QQQQQQQQQQQQQQQQ":l$="                ":open1,0
   79 w1=6:w2=6:key1,"{down}":key2,"h":key3,"{up}":fori=4to8:keyi,"h":nexti
   80 f(1,1)=2:f(6,0)=5:f(8,0)=3:f(12,1)=5:f(13,0)=5:f(17,1)=3:f(19,1)=5:f(24,0)=2
   81 fori=1to24:fa(i,0)=f(i,0):fa(i,1)=f(i,1):nexti
   82 a=dec("d600"):b=a+1
   83 print"{home}{home}{clr}{swlc}":pokea,34:pokeb,45:pokea,35:pokeb,45:window5,4,73,17:gosub541
   84 fori=0to40:pokea,34:pokeb,46-i:pokea,35:pokeb,46+i:forc=1to10:nextc:nexti:sleep4
   85 fori=40to0step-1:pokea,34:pokeb,46-i:pokea,35:pokeb,46+i:forc=1to10:nextc:nexti
   86 gosub495
   87 fori=1to10:geti$:nexti
   88 fori=0to40:pokea,34:pokeb,46-i:pokea,35:pokeb,46+i:forc=1to10:nextc:nexti
   89 fori=1to10:geti$:nexti
   90 window0,21,37,24,1:sleep1
   91 print"{wht}{swlc}{down}Spielbeginn !!!"
   92 fori=1to10:gosub2:nexti
   93 ifw1=w2then92:elsesb=1
   94 window0,21,37,24,1
   95 print"{wht}Ihr Wurf   :"w1:print"Mein Wurf  :"w2
   96 ifw1>w2thenprint"{down}Sie beginnen !!";:elseprint"{down}Ich beginne !!";
   97 print"          -Taste-":getkeyi$:ifi$="h"thengosub533:goto94
   98 ifw1>w2then105:elsegoto248
   99 fori=1to24:fa(i,0)=f(i,0):fa(i,1)=f(i,1):nexti:b2=b0:b3=b1:a2=a0:a3=a1:fori=1to8:z$(i)="":nexti
  100 ifze=1then105
  101 window0,21,37,24,1
  102 print"{wht}{swlc}{down}   Sie wuerfeln,"spc(22)"{down}Ende mit > {$0f}SPACE"chr$(143)" <":geti$:geti$:geti$
  103 gosub2:geti$:ifi$="h"thenze=10000:gosub533:goto101
  104 ifi$<>" "then103
  105 window0,21,37,24,1:ze=ze+1
  106 ifb0=0then127
  107 ifw1=w2theni=4:elsei=2
  108 ifb0  109 ifw1  110 a=0:b=b0:iff(25-w1,1)>1thenwindow0,21,19,24:print"{wht}{rvon}{CBM-A}@@@@@@@@@@@@@@@@@@{CBM-S}]Sie koennen nicht ]]einsetzen !!!     ]{CBM-Z}@@@@@@@@@@@@@@@@@@{CBM-X}":ze=10000:gosub490:goto243
  111 iff(25-w1,1)>0thenf(25-w1,1)=0:b1=b1+1
  112 f(25-w1,0)=f(25-w1,0)+1:b0=b0-1:a=a+1
  113 ifi<2then125
  114 iff(25-w2,1)>1then117
  115 iff(25-w2,1)>0thenf(25-w2,1)=0:b1=b1+1
  116 f(25-w2,0)=f(25-w2,0)+1:b0=b0-1:a=a+1
  117 ifi<3then121
  118 iff(25-w2,1)>1then121
  119 iff(25-w2,1)>0thenf(25-w2,1)=0:b1=b1+1
  120 f(25-w2,0)=f(25-w2,0)+1:b0=b0-1:a=a+1
  121 ifi<4then125
  122 iff(25-w2,1)>1then125
  123 iff(25-w2,1)>0thenf(25-w2,1)=0:b1=b1+1
  124 f(25-w2,0)=f(25-w2,0)+1:b0=b0-1:a=a+1
  125 window0,20,19,24,1:print"{wht}{rvon}{CBM-A}@@@@@@@@@@@@@@@@@@{CBM-S}]Es wurden   von   ]]Barsteinen ein-   ]]gesetzt !!!       ]{CBM-Z}@@@@@@@@@@@@@@@@@@{CBM-X}";
  126 char,10,1:printa;:char,16,1:printb:ze=10000:gosub490:print"{clr}":gosub14:goto243
  127 wa=w1:wb=w2
  128 gosub520
  129 wx=19:wy=21:gosub62:z$(1)=i$:onzngoto138,130,139
  130 wx=29:wy=21:gosub62:z$(2)=i$:onzngoto129,131,139
  131 wx=19:wy=22:gosub62:z$(3)=i$:onzngoto130,132,139
  132 wx=29:wy=22:gosub62:z$(4)=i$:onzngoto131,133,139
  133 ifw1<>w2then129
  134 wx=19:wy=23:gosub62:z$(5)=i$:onzngoto132,135,139
  135 wx=29:wy=23:gosub62:z$(6)=i$:onzngoto134,136,139
  136 wx=19:wy=24:gosub62:z$(7)=i$:onzngoto135,137,139
  137 wx=29:wy=24:gosub62:z$(8)=i$:onzngoto136,129,139
  138 ifw1=w2then137:elsegoto132
  139 ifw1=w2thena=7:elsea=3
  140 b=1
  141 d=0
  142 ifval(z$(b))>0andval(z$(b))<25thend=1
  143 ifz$(b)=""thend=1
  144 ifd=0thengosub474:goto128
  145 b=b+2:ifb<=athen141
  146 b=1
  147 d=0
  148 ifval(z$(b+1))>0andval(z$(b+1))<25thend=1
  149 ifz$(b+1)=""orz$(b+1)="a"thend=1
  150 ifd=0thengosub474:goto128
  151 b=b+2:ifb<=athen147
  152 b=1
  153 d=0
  154 ifz$(b)=""andz$(b+1)=""then159
  155 ifz$(b)=""andz$(b+1)<>""thend=1
  156 ifz$(b)<>""andz$(b+1)=""thend=1
  157 ifval(z$(b))>0andval(z$(b+1))>0thenifval(z$(b))-val(z$(b+1))<=0thend=1
  158 ifval(z$(b))>0andval(z$(b+1))>0thenifval(z$(b))-val(z$(b+1))>6thend=1
  159 ifd=1thengosub474:goto128
  160 b=b+2:ifb<=athen153
  161 forb=1to3
  162 fori=1to5step2
  163 ifz$(i)=""andz$(i+2)<>""thenz$(i)=z$(i+2):z$(i+1)=z$(i+3):z$(i+2)="":z$(i+3)=""
  164 nexti
  165 nextb
  166 print"{yel}":fori=0to3
  167 window19,21+i,20,21+i:print"{clr}"z$(1+i*2)
  168 window29,21+i,30,21+i:print"{clr}"z$(2+i*2)
  169 nexti
  170 ifa=7then180
  171 ifz$(2)=""then186
  172 wa=val(z$(1))-val(z$(2))
  173 ifz$(2)="a"thenwa=val(z$(1))
  174 ifwa=w1orwa=w2then175:elsegosub474:goto128
  175 ifz$(4)=""then186
  176 wb=val(z$(3))-val(z$(4))
  177 ifz$(4)="a"thenwb=val(z$(3))
  178 ifwb=w1orwb=w2then179:elsegosub474:goto128
  179 ifwa<>wbthen186:elsegosub474:goto128
  180 i=1
  181 ifz$(i+1)=""then186
  182 wb=val(z$(i))-val(z$(i+1))
  183 ifz$(i+1)="a"thenwb=val(z$(i))
  184 ifwb<>w1thengosub474:goto128
  185 i=i+2:ifi<8then181
  186 i=1
  187 ifz$(i+1)="a"then194:elseifz$(i+1)=""then203
  188 iff(val(z$(i)),0)<1thengosub474:goto128
  189 iff(val(z$(i+1)),1)>1thengosub474:goto128
  190 f(val(z$(i)),0)=f(val(z$(i)),0)-1
  191 f(val(z$(i+1)),0)=f(val(z$(i+1)),0)+1
  192 iff(val(z$(i+1)),1)>0thenf(val(z$(i+1)),1)=0:b1=b1+1
  193 goto203
  194 b=0:forc=7to24
  195 iff(c,0)>0thenb=1
  196 nextc
  197 ifb0>0thenb=1
  198 ifb=1thenwindow0,20,12,24,1:print"{wht}{rvon}{CBM-A}@@@@@@@@@@@{CBM-S}]Auswuer-   ]]feln nicht ]]moeglich !!]{CBM-Z}@@@@@@@@@@@{CBM-X}":gosub476:gosub490:print"{clr}":goto128
  199 ifval(z$(i))<1orval(z$(i))>6thengosub474:goto128
  200 iff(val(z$(i)),0)=0thengosub474:goto128
  201 iff(val(z$(i)),1)>0thengosub474:goto128
  202 f(val(z$(i)),0)=f(val(z$(i)),0)-1:a0=a0+1:gosub477
  203 i=i+2:ifi<8then187
  204 b=0
  205 fori=1toastep2
  206 ifz$(i)=""thenb=1
  207 nexti
  208 ifb=0then242
  209 b=0:forc=7to24
  210 iff(c,0)>0thenb=1
  211 nextc
  212 ifb0>0thenb=1
  213 ifb=0then242
  214 ifw1=w2then239
  215 ifz$(1)<>""then220
  216 ifw1>w2thena=w1:elsea=w2
  217 i=1
  218 ifi-a>0theniff(i,0)>0andf(i-a,1)<2thengosub475:goto128
  219 i=i+1:ifi<25then218:elsegoto242
  220 ifw1>w2theni=w1:elsei=w2
  221 ifval(z$(1))-val(z$(2))<>ithengosub474:goto128
  222 ifval(z$(1))-val(z$(2))=w1thena=w2
  223 ifval(z$(1))-val(z$(2))=w2thena=w1
  224 i=1
  225 ifi-a>0theniff(i,0)>0andf(i-a,1)<2thengosub475:goto128
  226 i=i+1:ifi<25then225
  227 i=24:e=25
  228 iffa(i,0)>0thene=i+1:goto230
  229 i=i-1:ifi>1then228
  230 b=val(z$(1))-val(z$(2))
  231 c=1
  232 d=1
  233 ifc-a>0andfa(c,0)>0theniffa(c-a,1)<2andd-b>0andfa(d,0)>0theniffa(d-b,1)<2thengosub475:goto128
  234 d=d+1:ifd  235 c=c+1:ifc  236 ifw1>w2theni=w1:elsei=w2
  237 ifval(z$(1))-val(z$(2))<>ithengosub474:goto128
  238 goto242
  239 i=1
  240 ifi-w1>0theniff(i,0)>0andf(i-w1,1)<2thengosub475:goto128
  241 i=i+1:ifi<25then240
  242 gosub14
  243 fori=1to24:fa(i,0)=f(i,0):fa(i,1)=f(i,1):nexti:b2=b0:b3=b1:a2=a0:a3=a1:fori=1to8:z$(i)="":nexti:o=0
  244 ifze=1then248
  245 window0,21,37,24:print"{clr}{wht}{down}Mein Wurf ..."
  246 a=rnd(0)*30:ifa<10thena=10
  247 fori=1toa:gosub2:nexti
  248 window0,21,37,24,1:ze=ze+1
  249 ifw1  250 ifb1=0then270
  251 ifw1=w2theni=4:elsei=2
  252 ifb1  253 a=0:b=b1:iff(w1,0)>1thenwindow0,21,19,24:print"{wht}{rvon}{CBM-A}@@@@@@@@@@@@@@@@@@{CBM-S}]  Ich kann nicht  ]]  einsetzen !!!   ]{CBM-Z}@@@@@@@@@@@@@@@@@@{CBM-X}":ze=10000:gosub490:goto99
  254 iff(w1,0)>0thenf(w1,0)=0:b0=b0+1
  255 f(w1,1)=f(w1,1)+1:b1=b1-1:a=a+1
  256 ifi<2then268
  257 iff(w2,0)>1then260
  258 iff(w2,0)>0thenf(w2,0)=0:b0=b0+1
  259 f(w2,1)=f(w2,1)+1:b1=b1-1:a=a+1
  260 ifi<3then264
  261 iff(w2,0)>1then264
  262 iff(w2,0)>0thenf(w2,0)=0:b0=b0+1
  263 f(w2,1)=f(w2,1)+1:b1=b1-1:a=a+1
  264 ifi<4then268
  265 iff(w2,0)>1then268
  266 iff(w2,0)>0thenf(w2,0)=0:b0=b0+1
  267 f(w2,1)=f(w2,1)+1:b1=b1-1:a=a+1
  268 window0,21,19,24,1:print"{wht}{rvon}{CBM-A}@@@@@@@@@@@@@@@@@@{CBM-S}]Ich setze   von   ]]Barsteinen ein !!!]{CBM-Z}@@@@@@@@@@@@@@@@@@{CBM-X}";
  269 char,10,1:printa;:char,16,1:printb:ze=10000:gosub490:gosub14:goto99
  270 dz=0:f1=0
  271 ifw1=w2thenez=4:elseez=2
  272 window0,21,37,24:print"{clr}{down}{wht}{rght}{rght}{rght}{rght}Ich ueberlege ..."
  273 ifw1<>w2anddz=1andz$(1)=""andf1=0thendz=0:f1=1
  274 ifdz=ezthen376
  275 dz=dz+1
  276 ifw1=w2thenw=w1:goto281
  277 iff1=0anddz=1thenw=w1
  278 iff1=0anddz=2thenw=w2
  279 iff1=1anddz=1thenw=w2
  280 iff1=1anddz=2thenw=w1
  281 a=0
  282 fori=1to18
  283 iff(i,1)>0thena=1
  284 nexti
  285 ifb1>0then a=1
  286 fori=0to24:pr(i)=0:nexti
  287 ifa=0then386
  288 i=1
  289 ifi+w>24then300
  290 iff(i,1)>0andf(i+w,0)<2thengosub306
  291 ifo=1then297:elseifdz=1andf1=0then292:elsegoto297
  292 h=0:forg=1toi:ifpr(g)>hthenh=pr(g)
  293 nextg
  294 ifh>95then297:elseifi+w+w2<25andf(i,1)>0theniff(i+w+w2,0)=1andf(i+w2,0)=1thenw=w2:f1=1:pr(i)=95:pr(0)=1:goto297
  295 ifh>93then297:elseifi+w2<25andf(i,1)>0theniff(i+w2,0)=1thenw=w2:f1=1:pr(i)=93:pr(0)=1:goto297
  296 ifh>91then297:elseifi+w+w2<25andf(i,1)>0theniff(i+w+w2,0)=1andf(i+w2,0)<2thenw=w2:f1=1:pr(i)=91:pr(0)=1
  297 ifo=1thenifpr(i)>1thenpr(i)=1
  298 i=i+1
  299 ifi<24then289
  300 d=0:e=0:fori=1to24
  301 ifpr(i)>ethene=pr(i):d=i
  302 nexti
  303 ifpr(0)=0then273
  304 za$=mid$(str$(d),2,3):zz$=mid$(str$(d+w),2,3)
  305 goto366
  306 pr(0)=1
  307 ifo=1then365
  308 ifdz=1andf1=0andi+w+w2<25theniff(i+w,0)=1andf(i+w+w2,0)=1thenpr(i)=96:return
  309 iff(i+w,0)=1thenpr(i)=94:return
  310 ifdz=1andf1=0andi+w+w2<25theniff(i+w+w2,0)=1thenpr(i)=92:return
  311 ifez=2then316
  312 forg=2toez-dz+1
  313 ifi+g*w<25theniff(i+g*w,0)<2then314:elsegoto320
  314 iff(i+g*w,0)=1thenpr(i)=90:return
  315 nextg
  316 f3=0:ifb0>0thenf3=1:goto319:elseforg=i+wto24
  317 iff(g,0)>0thenf3=1
  318 nextg
  319 iff3=1thenf2=1:goto323
  320 f2=0:ifb0>0thenf2=1:goto323:elseforg=ito24
  321 iff(g,0)>0thenf2=1
  322 nextg
  323 iff2=0then336
  324 ifdz=1andf1=0andi>18andi+w-w2>18andf(i,1)=1andf(i+w-w2,1)=1andf(i+w,1)=0andw1<>w2thenpr(i)=88:return
  325 iff(i+w,1)=1andi+w>18andi<19andf(i,1)>2thenpr(i)=84:return
  326 iff(i+w,1)=1andi+w>18andi<19thenpr(i)=80:return
  327 iff(i+w,1)=1andi+w>18andf(i,1)>2thenpr(i)=76:return
  328 ifi>18andf(i,1)=1andf(i+w,1)>0thenpr(i)=72:return
  329 ifi>18andf(i,1)=1then331
  330 ifi+w+w2<25andi+w+w2>18thenifdz=1andf1=0andf(i+w+w2,1)=1thenpr(i)=68:return
  331 ifdz=1andf1=0andw1=w2andf(i,1)=1then333
  332 ifdz=1andf1=0andi<19andf(i+w-w2,1)>0andi+w-w2<19andi+w>18andf(i+w,1)=0thenpr(i)=64:return
  333 ifdz=1andf1=0andw1=w2andf(i,1)<4then335
  334 ifdz=1andf1=0andf(i+w,1)=0andf(i,1)<>2andi+w>18theniff(i+w-w2,1)>2orf(i+w-w2,1)=1thenpr(i)=60:return
  335 iff(i,1)=1andi>18andi+w=24thenpr(i)=56:return
  336 iff(i+w,1)=1andf(i,1)>2andf2=1thenpr(i)=41:return
  337 iff(i,1)=1andf(i+w,1)>0andf2=1thenpr(i)=40:return
  338 ifi+w2<25thenifdz=1andf1=0andf(i,1)=2andf(i+w,1)=1andf(i+w2,1)=1andf2=1thenpr(i)=36:return
  339 ifez>2andf(i,1)>1andf(i,1)-(ez-dz+1)<>1then340:elsegoto344
  340 ifi<6thenpr(i)=27:return
  341 ifi<10thenpr(i)=24:return
  342 ifi<13thenpr(i)=21:return
  343 ifi<18thenpr(i)=20:return
  344 iff(i,1)<>2andf2=1andf3=0then345:elsegoto347
  345 ifi<19thenpr(i)=19.5:return
  346 pr(i)=19:return
  347 ifi<19andf2=0andi+w>18andi+w<22thenpr(i)=18:return
  348 ifi<19andf2=0thenpr(i)=17:return
  349 ifdz=1andf1=0andi+w-w2<25andi+w-w2>0andi+w<19theniff(i+w,1)=0andf(i,1)>2andf(i+w-w2,1)>2thenpr(i)=15:return
  350 ifdz=1andf1=0andi+w-w2<25andi+w-w2>0theniff(i+w,1)=0andf(i+w-w2,1)=1thenpr(i)=14:return
  351 ifi<19andi+w>18andf(i+w,1)>0thenpr(i)=12:return
  352 iff(i,1)=1then353:elsegoto356
  353 iff3=0andf2=1andi<19thenpr(i)=9.8:return
  354 ifi<19thenpr(i)=9.6:return
  355 pr(i)=9:return
  356 ifb0>0andi<19thenpr(i)=6:return
  357 ifdz=1andf1=0andi+w2<25andf(i+w,1)>0andf(i+w2,1)>0then358:elsegoto359
  358 ifi<19thenpr(i)=4.5:return:elsepr(i)=4:return
  359 iff(i,1)<3then364
  360 iff3=0andf2=1andi<19thenpr(i)=3.8:return
  361 iff3=0andi<19thenpr(i)=3.6:return
  362 ifi<19thenpr(i)=3.4:return
  363 pr(i)=3:return
  364 iff3=0thenpr(i)=2:return
  365 pr(i)=1:return
  366 f(val(za$),1)=f(val(za$),1)-1
  367 f(val(zz$),1)=f(val(zz$),1)+1
  368 iff(val(zz$),0)>0thenf(val(zz$),0)=0:b0=b0+1
  369 ifz$(1)=""thenz$(1)=za$:z$(2)=zz$:goto273
  370 ifz$(3)=""thenz$(3)=za$:z$(4)=zz$:goto273
  371 ifz$(5)=""thenz$(5)=za$:z$(6)=zz$:goto273
  372 ifz$(7)=""thenz$(7)=za$:z$(8)=zz$:goto273
  373 iff1=0andw1<>w2then374:elsegoto274
  374 ifval(z$(2))-val(z$(1))=w2andz$(3)=""thendz=dz-1:f1=1
  375 goto274
  376 h=0:forg=1to18:iff(g,1)>0thenh=1
  377 nextg
  378 ifb1>0thenh=1
  379 ifz$(2)<>"a"andval(z$(2))-val(z$(1))=w2andz$(3)=""andh=1then383
  380 ifz$(2)<>"a"andz$(4)<>"a"andw1<>w2andval(z$(2))-val(z$(1))=val(z$(4))-val(z$(3))then383
  381 ifz$(2)<>"a"andw1<>w2andval(z$(2))-val(z$(1))=w1andz$(3)=""andh=1then383
  382 goto462
  383 fori=1to8:z$(i)="":nexti:gosub476
  384 ifo=0theno=1:goto270
  385 goto382
  386 iff(25-w,1)=0then402
  387 l=0:fork=19to24:iff(k,0)>0thenl=k
  388 nextk:ifb0>0thenl=24
  389 ifl=0then399
  390 fork=19tol:iff(k,1)>0then393
  391 nextk
  392 goto399
  393 iff(25-w,1)<>2then399
  394 if25-w>lthen399
  395 ifw1=w2then399
  396 ifdz=1andf1=0and25-w+w2<25theniff(25-w+w2,1)>0then399
  397 ifdz=1andf1=1and25-w+w1<25theniff(25-w+w1,1)>0then399
  398 iff(24,1)=2andf(23,1)=2andf(22,1)=2andf(21,1)=2andf(20,1)=2andf(19,1)=2then399:elsegoto402
  399 f(25-w,1)=f(25-w,1)-1:f(25-w,0)=0:a1=a1+1
  400 za$=mid$(str$(25-w),2,2):zz$="a":gosub477
  401 goto369
  402 l=0:fork=19to24:iff(k,0)>0thenl=k
  403 nextk:ifb0>0thenl=24
  404 ifl=0then433
  405 fork=19tol:iff(k,1)>0then408
  406 nextk
  407 goto433
  408 i=19
  409 ifi+w<25theniff(i,1)=1andf(i+w,1)>0thenf(i,1)=0:f(i+w,1)=f(i+w,1)+1:za$=mid$(str$(i),2,2):zz$=mid$(str$(i+w),2,2):goto369
  410 i=i+1:ifi+w<25then409
  411 i=19
  412 ifi+w<25theniff(i,1)>2andf(i+w,1)=1thenf(i,1)=f(i,1)-1:f(i+w,1)=f(i+w,1)+1:za$=mid$(str$(i),2,2):zz$=mid$(str$(i+w),2,2):goto369
  413 i=i+1:ifi+w<25then412
  414 if ez<4then423
  415 i=19
  416 forg=1toez-dz
  417 iff(i,1)=1orf(i,1)>2then418:elsegoto422
  418 ifi+g*w<25theniff(i+g*w,0)<2then419:elsegoto422
  419 ifi+g*w=25-wtheniff(i+w,0)=1thenf(i+w,0)=0:b0=b0+1
  420 ifi+g*w=25-wthenf(i,1)=f(i,1)-1:f(i+w,1)=f(i+w,1)+1:za$=mid$(str$(i),2,2):zz$=mid$(str$(i+w),2,2):goto369
  421 nextg
  422 i=i+1:ifi+w<25then416
  423 i=19
  424 ifi+w<25theniff1=0anddz=1andi=25-w2andf(i,1)=2andf(i-w1,1)>2thenf(i-w1,1)=f(i-w1,1)-1:za$=mid$(str$(i-w1),2,2):zz$=mid$(str$(i),2,2):goto369
  425 i=i+1:ifi+w<25then424
  426 i=19
  427 ifi+w<25theniff(i,1)-1>f(i+w,1)andf(i+w,1)>0thenf(i,1)=f(i,1)-1:f(i+w,1)=f(i+w,1)+1:za$=mid$(str$(i),2,2):zz$=mid$(str$(i+w),2,2):goto369
  428 i=i+1:ifi+w<25then427
  429 i=19:
  430 ifi+w<25theniff(i,1)>0and f(i+w,0)=1 thenf(i,1)=f(i,1)-1:f(i+w,1)=f(i+w,1)+1:f(i+w,0)=0:b0=b0+1:za$=mid$(str$(i),2,2):zz$=mid$(str$(i+w),2,2):goto369
  431 i=i+1:ifi+w<25then430
  432 goto273
  433 i=19
  434 ifdz=1andf1=0andi+w<25theniff(i,1)>0andf(i+w,0)<2and25-w2=i+wandf(i,1)>f(i+w,1)then435:elsegoto437
  435 if f(i+w,0)=1thenf(i+w,0)=0:b0=b0+1
  436 f(i,1)=f(i,1)-1:f(i+w,1)=f(i+w,1)+1:za$=mid$(str$(i),2,2):zz$=mid$(str$(i+w),2,2):goto369
  437 i=i+1:ifi+w<25then434
  438 i=19
  439 ifdz=1andf1=1andi+w<25theniff(i,1)>0andf(i+w,0)<2and25-w1=i+wandf(i,1)>f(i+w,1)then440:elsegoto442
  440 if f(i+w,0)=1thenf(i+w,0)=0:b0=b0+1
  441 f(i,1)=f(i,1)-1:f(i+w,1)=f(i+w,1)+1:za$=mid$(str$(i),2,2):zz$=mid$(str$(i+w),2,2):goto369
  442 i=i+1:ifi+w<25then439
  443 ifez<4then451
  444 i=19
  445 forg=1toez-dz
  446 ifi+g*w<25theniff(i,1)>0andf(i+g*w,0)<2then447:elsegoto450
  447 ifi+g*w=25-wtheniff(i+w,0)=1thenf(i+w,0)=0:b0=b0+1
  448 ifi+g*w=25-wthenf(i,1)=f(i,1)-1:f(i+w,1)=f(i+w,1)+1:za$=mid$(str$(i),2,2):zz$=mid$(str$(i+w),2,2):goto369
  449 nextg
  450 i=i+1:ifi+w<25then445
  451 i=19
  452 ifi+w<25theniff(i,1)>1andf(i+w,1)=0andf(i+w,0)<2then453:elsegoto455
  453 iff(i+w,0)=1thenf(i+w,0)=0:b0=b0+1
  454 f(i,1)=f(i,1)-1:f(i+w,1)=f(i+w,1)+1:za$=mid$(str$(i),2,2):zz$=mid$(str$(i+w),2,2):goto369
  455 i=i+1:ifi+w<25then452
  456 i=19
  457 ifi+w<25theniff(i,1)-1>f(i+w,1) and f(i+w,0)<2 then458:elsegoto460
  458 iff(i+w,0)=1thenf(i+w,0)=0:b0=b0+1
  459 f(i,1)=f(i,1)-1:f(i+w,1)=f(i+w,1)+1:za$=mid$(str$(i),2,2):zz$=mid$(str$(i+w),2,2):goto369
  460 i=i+1:ifi+w<25then457
  461 goto273
  462 window0,21,37,24,1:char,0,0,"{wht}Mein Zug:"
  463 char,11,0,"1.  von{rght}{rght}{rght}{rght}{rght}{rght}nach"
  464 char,11,1,"2.  von{rght}{rght}{rght}{rght}{rght}{rght}nach"
  465 ifw1<>w2then468
  466 char,11,2,"3.  von{rght}{rght}{rght}{rght}{rght}{rght}nach"
  467 char,11,3,"4.  von{rght}{rght}{rght}{rght}{rght}{rght}nach"
  468 print"{yel}":fori=0to3
  469 window19,21+i,20,21+i:print"{clr}"z$(1+i*2)
  470 window29,21+i,30,21+i:print"{clr}"z$(2+i*2)
  471 nexti
  472 getkeyi$:gosub14
  473 goto99
  474 window0,21,14,24,1:print"{wht}{rvon}{CBM-A}@@@@@@@@@@@@@{CBM-S}] Ihr Zug ist ]] ungueltig ! ]{CBM-Z}@@@@@@@@@@@@@{CBM-X}":gosub476:gosub490:return
  475 window0,20,17,24,1:print"{wht}{rvon}{CBM-A}@@@@@@@@@@@@@@@{CBM-S}{rght}]  Sie duerfen  ]{rght}]Ihren Zug nicht]{rght}]  vergeben !!  ]{rght}{CBM-Z}@@@@@@@@@@@@@@@{CBM-X}":gosub476:gosub490:print"{clr}":return
  476 fori=1to24:f(i,0)=fa(i,0):f(i,1)=fa(i,1):nexti:b0=b2:b1=b3:a0=a2:a1=a3:return
  477 ifa0=15ora1=15thengosub14:goto478:elsereturn
  478 gosub479:goto482
  479 window0,18,39,24,1:print"{red}{rvon}{CBM-A}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{CBM-S}"
  480 fori=1to5:print"{rvon}]                                      ]":nexti
  481 print"{rvon}{CBM-Z}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{CBM-X}":return
  482 ifa0=15anda1>0ora1=15anda0>0thenchar,11,2,"{rvon}Einfacher Sieg !"
  483 ifa0=15anda1=0ora1=15anda0=0thenchar,6,2,"{rvon}Doppelter Sieg  -  Gammon !"
  484 ifa0=15thenifb1>0orf(24,1)>0orf(23,1)>0orf(22,1)>0orf(21,1)>0orf(20,1)>0orf(19,1)>0thenchar,4,2,"{rvon}Dreifacher Sieg  -  Backgammon !"
  485 ifa1=15thenifb0>0orf(24,0)>0orf(23,0)>0orf(22,0)>0orf(21,0)>0orf(20,0)>0orf(19,0)>0thenchar,4,2,"{rvon}Dreifacher Sieg  -  Backgammon !"
  486 ifa0=15thenchar,2,4,"Bravo, Sie haben mich geschlagen !!!",1
  487 ifa1=15thenchar,5,4,"Sie haben leider verloren !!!",1
  488 getkeyi$:gosub479:char,8,3,"Neues Spiel  j/n ?",1
  489 getkeyi$:ifi$="j"thenrun:elsesys65341
  490 it=ti
  491 geti$
  492 ifi$="h"thengosub533:goto491
  493 if i$<>"" or ti-it>240 then return
  494 goto491
  495 i1$="@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@":i2$="]]]]]]]]]]]]]]]]]":i3$="{CBM-Q}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{CBM-W}"
  496 printchr$(27)"m{swlc}{home}{home}{clr}{wht}"tab(30)"B a c k g a m m o n":printchr$(142)" {blu}"i1$
  497 window79,1,79,19:print"{CBM-S}"i2$"{CBM-X}"
  498 window1,19,79,19:printi1$
  499 window0,1,0,19:print"{CBM-A}"i2$"{CBM-Z}"
  500 window37,1,37,19:print"{CBM-R}"i2$"{CBM-E}"
  501 window42,1,42,19:print"{CBM-R}"i2$"{CBM-E}"
  502 window0,3,79,3:printi3$spc(4)i3$
  503 window0,17,79,17:printi3$spc(4)i3$
  504 fork=0to5
  505 window1+k*6,3,5+k*6,17:print"{CBM-R}@@@{CBM-R}]   ]]   ]]   ]]   ]J@@@K"spc(15)"U@@@I]   ]]   ]]   ]]   ]{CBM-E}@@@{CBM-E}"
  506 window74-k*6,3,78-k*6,17:print"{CBM-R}@@@{CBM-R}]   ]]   ]]   ]]   ]J@@@K"spc(15)"U@@@I]   ]]   ]]   ]]   ]{CBM-E}@@@{CBM-E}"
  507 nextk:print"{home}{home}{swlc}"
  508 char,3,18,"{lblu}1     2     3     4     5     6{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}7     8     9     10    11    12"
  509 char,3,2,"24    23    22    21    20    19{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}18    17    16    15    14    13"
  510 char,9,1,"{brn}Homeboard Computer":char,9,19,"{yel}Homeboard Spieler"
  511 char,3,9,"{yel}Spielrichtung hell    ------->":char,3,11,"{brn}Spielrichtung dunkel  ------->"
  512 char,1,10,"{gry1}------------------------------------{rght}{rght}{rght}{rght}{rght}{rght}------------------------------"
  513 char,39,9,"{red}B":char,39,10,"A":char,39,11,"R"
  514 char,60,20,"{cyn}ausgeworfen:"
  515 char,57,24,"{gry1}(c) 1989  Gerhard Maier"
  516 char,38,20,chr$(142)+"{gry3}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}  {CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}"
  517 fork=21to23:char,38,k,"{rvon}       {rght}{rght}{rvon}       ":nextk
  518 char,38,24,"{rvon}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{rvof}  {rvon}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{rvof}":gosub4
  519 gosub14
  520 ifze=0then528
  521 ifze=10000thenze=2:goto528
  522 window0,21,37,24
  523 print"{wht}{swlc}Ihr Zug    1.  von{rght}{rght}{rght}{rght}{rght}{rght}nach"
  524 print"           2.  von{rght}{rght}{rght}{rght}{rght}{rght}nach"
  525 ifw1<>w2thenprintchr$(27)"`":goto528
  526 print"           3.  von{rght}{rght}{rght}{rght}{rght}{rght}nach"
  527 print"           4.  von{rght}{rght}{rght}{rght}{rght}{rght}nach"
  528 fork=0to3
  529 window19,21+k,20,21+k:print"{yel}{clr}"z$(1+k*2)
  530 window29,21+k,30,21+k:print"{yel}{clr}"z$(2+k*2)
  531 nextk
  532 return
  533 fork=1to5:getk$:nextk
  534 window3,0,75,20,1:print"{yel}{CBM-A}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{CBM-S}"
  535 print"]"tab(27)"B a c k g a m m o n"tab(72)"]"
  536 print"{CBM-Q}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{CBM-W}"
  537 window3,3,3,19:print"]]]]]]]]]]]]]]]]]]":window75,3,75,19:print"]]]]]]]]]]]]]]]]]]{home}{home}"
  538 char,3,18,"{CBM-Q}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{CBM-W}"
  539 char,5,19,"      ESC = verlassen      F1 = vorwaerts      F3 = rueckwaerts      ",1
  540 char,3,20,"{CBM-Z}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{CBM-X}":window5,4,73,17:gosub541:sleep1:goto551
  541 print"{clr}{pur}{down} {rvon}    {rvof}                 {rvon} {rvof}"
  542 print" {rvon} {rvof}  {rvon} {rvof}                 {rvon} {rvof} "chr$(142)"{rvon}{SHIFT-POUND}{rvof}{SHIFT-POUND}{swlc}"
  543 print" {rvon} {rvof}  {rvon} {rvof}                 {rvon} "chr$(142)"{SHIFT-POUND}{rvof}{SHIFT-POUND}{swlc}"
  544 print" {rvon}     {rvof}  {rvon}    {rvof}   {rvon}    {rvof}   {rvon}  {rvof}     {rvon}     {rvof}  {rvon}    {rvof}   {rvon}    "chr$(142)"_{swlc}{rvof}  {rvon}    "chr$(142)"_{swlc}{rvof}  {rvon}     {rvof}  {rvon}   "chr$(142)"_{swlc}"
  545 print" {rvon} {rvof}   {rvon} {rvof}  {rvon} {rvof}  {rvon} {rvof}   {rvon} {rvof}      {rvon} {rvof}"chr$(142)"_{rvon}_{rvof}{swlc}    {rvon} {rvof}   {rvon} {rvof}  {rvon} {rvof}  {rvon} {rvof}   {rvon} {rvof} {rvon} {rvof} {rvon} {rvof}  {rvon} {rvof} {rvon} {rvof} {rvon} {rvof}  {rvon} {rvof}   {rvon} {rvof}  {rvon} {rvof}  {rvon} {rvof}"
  546 print" {rvon} {rvof}   {rvon} {rvof}  {rvon} {rvof}  {rvon} {rvof}   {rvon} {rvof}      {rvon} {rvof} "chr$(142)"_{rvon}_{rvof}{swlc}   {rvon} {rvof}   {rvon} {rvof}  {rvon} {rvof}  {rvon} {rvof}   {rvon} {rvof} {rvon} {rvof} {rvon} {rvof}  {rvon} {rvof} {rvon} {rvof} {rvon} {rvof}  {rvon} {rvof}   {rvon} {rvof}  {rvon} {rvof}  {rvon} "
  547 print" {rvon}     {rvof}  {rvon}     {rvof}  {rvon}     {rvof}  {rvon} {rvof}  "chr$(142)"_{rvon}_{rvof}{swlc}  {rvon}     {rvof}  {rvon}     {rvof}  {rvon} {rvof} {rvon} {rvof} {rvon} {rvof}  {rvon} {rvof} {rvon} {rvof} {rvon} {rvof}  {rvon}     {rvof}  {rvon} {rvof}  {rvon} {rvof}"
  548 printspc(33)"{rvon} {left}{down}{left}{left}{left}{left}{CBM-O}{CBM-O}{CBM-O}{CBM-O}{CBM-O}"
  549 printspc(18)"{yel}{down}{down}(c)  1989      Gerhard Maier"
  550 return
  551 print"{clr}{yel}{rvon}  Eingabe Ihres Zuges:  {rvof}"tab(60)"Seite  1"
  552 print"{down}{down}Schreiben Sie in das Feld  'von'  die Nr. des Ausgangsfeldes und"
  553 print"und in das Feld  'nach'  die Nr. des Zielfeldes Ihres Zuges ein."
  554 print"{down}Zum Auswuerfeln schreiben sie in das Feld  'nach'  ein  a."
  555 print"{down}Die Eingabefelder sind mit den CURSOR - Tasten bzw. mit der"
  556 print"TABulator - Taste anzuspringen."
  557 print"{down}Ihr Zug wird erst durch druecken von RETURN/ENTER uebergeben."
  558 print"{down}Mit der HELP - Taste koennen Sie die Spielanleitung einblenden."
  559 gosub676:onkgoto666,674
  560 print"{clr}{rvon}  Ziel des Spieles:  {rvof}"tab(60)"Seite  2"
  561 print"{down}{down}Von der Grundstellung ausgehend bemueht sich jeder Spieler, seine"
  562 print"15 Steine so schnell wie moeglich in sein Homeboard zu bringen, um"
  563 print"dann seine Steine als erster herauszuwuerfeln."
  564 print"Der Spieler, dem dies zuerst gelungen ist, hat diese Spielrunde":print"gewonnen."
  565 print"{down}Durch geschicktes Ausnuetzen der Wuerfelzahlen, moegliches"
  566 print"Kombinieren der geworfenen Augenzahlen und durch gegenseitiges"
  567 print"Blockieren versucht sich jeder Spieler eine bessere Position"
  568 print"zu verschaffen und den Anderen am Schlagen der Figuren zu hindern.":gosub676:onkgoto551,674
  569 print"{clr}{rvon}  Aufstellung und Zugrichtung:  {rvof}"tab(60)"Seite  3"
  570 print"{down}{down}Die Grundaufstellung wird vom Computer uebernommen."
  571 print"{down}Die Spieler ziehen gegenlaeufig. Die Zugrichtungen sind entsprechend"
  572 print"den Farben (bzw. hell/dunkel) der Spielersteine ausgegeben."
  573 print"{down}Bei dieser Aufstellung zieht der Spieler im Uhrzeigersinn,"
  574 print"der Computer entgegen dem Uhrzeigersinn."
  575 print"{down}Die Nummern 1-6 kennzeichnen das Homeboard (Heimfeld) des Spielers,"
  576 print"ebenso die Nummern 19-24 das Homeboard des Computers.":gosub676:onkgoto560,674
  577 print"{clr}{rvon}  Spielbeginn und Ziehen:  {rvof}"tab(60)"Seite  4"
  578 print"{down}{down}Zunaechst wird der Spieler bestimmt, der das Spiel eroeffnet."
  579 print"Dabei wuerfeln beide Spieler mit einem Wuerfel. Wer die hoehere"
  580 print"Zahl hat, beginnt.
  581 print"Werfen beide Spieler dieselbe Augenzahl (einen Pasch),"
  582 print"so muessen beide nochmals wuerfeln. Jetzt beginnt der Spieler,"
  583 print"der die hoehere Augenzahl gewuerfelt hat, setzt die von Ihm"
  584 print"gewuerfelte Augenzahl und die Augenzahl die der Mitspieler ge-"
  585 print"wuerfelt hat."
  586 print"Der naechste Zug ist dann bei dem zweiten Spieler, der zur Eroeffnung"
  587 print"die gleichen Zahlen zu ziehen hat, wie der Spieler, der das Spiel"
  588 print"begonnen hat.":gosub676:onkgoto569,674
  589 print"{clr}{rvon}  Spielbeginn und Ziehen:  {rvof}"tab(60)"Seite  5"
  590 print"{down}{down}Ab jetzt wird abwechselnd jeweils mit 2 Wuerfeln gewuerfelt."
  591 print"Die hierbei erzielten Augen koennen getrennt, d. h. mit 2 Steinen"
  592 print"zum Vorruecken verwendet werden, oder aber auch nur mit einem"
  593 print"Stein. Es besteht bis zu dem Zeitpunkt, da sich von einer Farbe"
  594 print"alle Steine im Homeboard befinden,   Z u g z w a n g ,"
  595 print"soweit es moeglich ist.
  596 print"Kann nur eine der beiden gewuerfelten Augenzahlen vorruecken, so"
  597 print"muss es die Hoehere sein. Ist diese Augenzahl nicht zu ziehen, "
  598 print"muss auf das Ziehen fuer diesen Wurf ganz verzichtet werden und"
  599 print"der Gegenspieler ist an der Reihe.":gosub676:onkgoto577,674
  600 print"{clr}{rvon}  Spielbeginn und Ziehen:  {rvof}"tab(60)"Seite  6"
  601 print"{down}{down}Die angespielte Spitze muss auf jeden Fall anspielbar sein!"
  602 print"{down}Wird die Bewegung nur mit einem Stein, d. h. mit der Addition der"
  603 print"beiden Wuerfelaugen durchgefuehrt, so sind dies zwei einzelne Zuege,"
  604 print"d. h. wenn einer der beiden Zuege nicht moeglich ist, so ist auch der"
  605 print"Darauffolgende nicht durchzufuehren."
  606 print"{down}Der Spieler kann frei entscheiden, in welcher Reihenfolge er die"
  607 print"Wuerfelzahlen verwenden moechte.":gosub676:onkgoto589,674
  608 print"{clr}{rvon}  Zuege bei einem Pasch:  {rvof}"tab(60)"Seite  7"
  609 print"{down}{down}Beim Pasch (=beide Wuerfel zeigen die gleiche Augenzahl) darf die"
  610 print"gewuerfelte Zahl eines Wuerfels 4x verwendet werden."
  611 print"{down}Beim Pasch gelten die Regeln wie bei einem fortgesetzten Zug."
  612 print"{down}Wenn bei einem Pasch nicht alle Zuege gezogen werden koennen,"
  613 print"so muessen jedoch alle moeglichen Zuege gezogen werden. Die ver-"
  614 print"bleibenden Zugmoeglichkeiten verfallen.":gosub676:onkgoto600,674
  615 print"{clr}{rvon}  Schlagen:  {rvof}"tab(60)"Seite  8"
  616 print"{down}{down}Endet ein Zug auf einem Zacken, der nur von einem gegenerischen"
  617 print"Stein besetzt ist, so wird dieser geschlagen."
  618 print"Es koennen mit einem Zug mehrere gegnerische Steine geschl. werden."
  619 print"Die geschlagenen Steine werden aus dem Spielfeld genommen und auf"
  620 print"die Bar gesetzt."
  621 print"{down}Wenn sich ein oder mehrere Steine eines Spielers auf der Bar be-"
  622 print"finden, darf er erst weiterspielen, wenn er alle Steine ins"
  623 print"Spiel zurueckgewuerfelt hat.":gosub676:onkgoto608,674
  624 print"{clr}{rvon}  Einsetzen der geschlagenen Steine:  {rvof}"tab(60)"Seite  9"
  625 print"{down}- Das einsetzen der geschlagenen Steine wird hier vom Computer fuer"
  626 print"  beide Spieler uebernommen!"
  627 print"{down}Die geschlagenen Steine muessen in das Homeboard des gegnerischen"
  628 print"Spielers eingewuerfelt werden."
  629 print"{down}Ist der Zacken mit der hoeheren Augenzahl von dem Gegener mit einem"
  630 print"Band besetzt, so kann man keinen Stein ins Spiel zuruecksetzen,"
  631 print"da zuerst die hoehere Augenzahl gezogen werden muss."
  632 print"{down}Der Spieler muss auf diesen Zug verzichten und erst den Gegner"
  633 print"wieder wuerfeln lassen.":gosub676:onkgoto615,674
  634 print"{clr}{rvon}  Baender:  {rvof}"tab(60)"Seite 10"
  635 print"{down}{down}Zwei oder mehrere Steine auf einer Zacke bilden ein Band!"
  636 print"{down}Diese Zacke kann weder von einem Gegner angespielt noch besetzt"
  637 print"werden."
  638 print"{down}Hat der Gegner 6 Baender hintereinander aufgebaut, nennt mann dies"
  639 print"eine Bruecke oder ein geschlossenes Brett."
  640 print"{down}Eine besondere Bedeutung kommt dieser Spielsituation zu, wenn sich"
  641 print"eine Bruecke im Homeboard des Mitspielers befindet und der Mit-"
  642 print"spieler noch einen Stein auf der Bar hat.":gosub676:onkgoto624,674
  643 print"{clr}{rvon}  Ausspielen:  {rvof}"tab(60)"Seite 11"
  644 print"{down}{down}Erst wenn ein Spieler alle 15 Steine in sein Homeboard gebracht"
  645 print"hat, darf er mit dem Ausspielen der Steine beginnen."
  646 print"{down}Hat er mit dem letzten Wurf mit nur einer Wuerfelaugenzahl das"
  647 print"Homeboard erreicht, darf er mit der zweiten, nicht verwendeten"
  648 print"Wuerfelzahl bereits mit dem Auswuerfeln beginnen."
  649 print"{down}Auch beim Auswuerfeln zaehlt der Pasch viermal.":gosub676:onkgoto634,674
  650 print"{clr}{rvon}  Ausspielen:  {rvof}"tab(60)"Seite 12"
  651 print"{down}Das Ausspielen eines Steines aus dem Homeboard kann immer nur mit"
  652 print"der genauen Augenzahl erfolgen."
  653 print"{down}Ist der angewuerfelte Zacken nicht besetzt, kann der Spieler den"
  654 print"Wurf verfallen lassen, oder den Zug mit einem anderen Stein"
  655 print"innerhalb des Homeboards ausfuehren."
  656 print"{down}Wird waehrend des Auswuerfelns ein Stein im Homeboard durch das"
  657 print"Einsetzen des Gegners geschlagen, darf erst dann mit dem Ausspielen"
  658 print"fortgefahren werden, wenn wieder alle Steine im Homeboard sind."
  659 print"{down}Die herausgewuerfelten Steine werden auf die Seite gelegt.":gosub676:onkgoto643,674
  660 print"{clr}{rvon}  Spielende:  {rvof}"tab(60)"Seite 13"
  661 print"{down}{down}Das Spiel ist zu Ende, wenn ein Spieler alle Steine herausge-"
  662 print"wuerfelt hat."
  663 print"{down}Je nach der Lage in der sich der Gegner zu diesem Zeitpunkt be-"
  664 print"findet, spricht man von einem einfachen, doppelten oder"
  665 print"dreifachen Sieg.":gosub676:onkgoto650,674
  666 print"{clr}{rvon}  Bewertung:  {rvof}"tab(60)"Seite 14"
  667 print"{down}{down}Der einfache Sieg:               Wenn der Gegner nur einige Steine"
  668 printspc(33)"herauswuerfeln konnte."
  669 print"{down}{down}Der doppelte Sieg (Gammon):      Wenn der Gegner noch"
  670 printspc(33)"keinen Stein ausspielen konnte."
  671 print"{down}{down}Der dreifache Sieg (Backgammon): Wenn der Gegner noch"
  672 printspc(33)"einen Stein im Homeboard des Siegers"
  673 printspc(33)"oder auf der Bar hat.":gosub676:onkgoto660,674,551
  674 gosub495
  675 return
  676 getkeyk$:ifk$="{up}"thenk=1:return:elseifk$="{down}"thenk=3:return:elseifk$=chr$(27)thenk=2:return:elsegoto676

Douglas

Hey!

That's pretty cool...uhhh...too bad I don't understand German!

Thanks anyways!!!

Douglas

:)