Please report any bugs or errors to wdtr2
Syntax Error on line 207
The == operator requires at least two arguments.
Edit the Settings File for Chu_Shogi_pocket
For the sake of debugging, here is the full GAME Code program that this error occurred in. The lines have been properly indented to help you spot scope errors.
0 echo Please report any bugs or errors to wdtr2 1 set lioncaptured false 2 set bpieces p p$ gb de$ c sm$ s vm$ g r$ fl b$ bt fs$ de cp$ ph fk$ ky ln$ l wh$ rc w$ sm fb$ vm fo$ b dh$ r dk$ dh hf$ dk se$ fk ln k 3 set wpieces P P$ GB DE$ C SM$ S VM$ G R$ FL B$ BT FS$ DE CP$ PH FK$ KY LN$ L WH$ RC W$ SM FB$ VM FO$ B DH$ R DK$ DH HF$ DK SE$ FK LN K 4 set pzs 4 5 set promote assoc p p$ gb de$ c sm$ s vm$ g r$ fl b$ bt fs$ de cp$ ph fk$ ky ln$ l wh$ rc w$ sm fb$ vm fo$ b dh$ r dk$ dh hf$ dk se$ fk fk ln ln k k P P$ GB DE$ C SM$ S VM$ G R$ FL B$ BT FS$ DE CP$ PH FK$ KY LN$ L WH$ RC W$ SM FB$ VM FO$ B DH$ R DK$ DH HF$ DK SE$ FK FK LN LN K K 6 alias +p p$ +gb de$ +c sm$ +s vm$ +g r$ +fl b$ +bt fs$ +de cp$ +ph fk$ +ky ln$ +l wh$ +rc w$ +sm fb$ +vm fo$ +b dh$ +r dk$ +dh hf$ +dk se$ q fk +P P$ +GB DE$ +C SM$ +S VM$ +G R$ +FL B$ +BT FS$ +DE CP$ +PH FK$ +KY LN$ +L WH$ +RC W$ +SM FB$ +VM FO$ +B DH$ +R DK$ +DH HF$ +DK SE$ Q FK 7 setsystem maxmove 2 8 ban commands allmoves 9 allow drops 1 moves 1 captures 1 moves 2 captures 2 pass 2 promotions 2 10 def p checkaleap #0 #1 0 1 11 def P checkaleap #0 #1 0 -1 12 def pL array where #0 0 1 13 def PL array where #0 0 -1 14 def gb checkaleap #0 #1 0 1 or checkaleap #0 #1 0 -1 15 def GB checkaleap #0 #1 0 1 or checkaleap #0 #1 0 -1 16 def gbL array where #0 0 1 where #0 0 -1 17 def GBL array where #0 0 1 where #0 0 -1 18 def c checkaleap #0 #1 -1 1 or checkaleap #0 #1 1 1 or fn gb #0 #1 19 def C checkaleap #0 #1 -1 -1 or checkaleap #0 #1 1 -1 or fn GB #0 #1 20 def cL array where #0 0 1 where #0 0 -1 where #0 -1 1 where #0 1 1 21 def CL array where #0 0 1 where #0 0 -1 where #0 -1 -1 where #0 1 -1 22 def s checkleap #0 #1 1 1 or fn p #0 #1 23 def S checkleap #0 #1 1 1 or fn P #0 #1 24 def sL merge leaps #0 1 1 array where #0 0 1 25 def SL merge leaps #0 1 1 array where #0 0 -1 26 def bt fn S #0 #1 or checkaleap #0 #1 -1 0 or checkaleap #0 #1 1 0 27 def BT fn s #0 #1 or checkaleap #0 #1 -1 0 or checkaleap #0 #1 1 0 28 def btL merge leaps #0 1 1 array where #0 -1 0 where #0 1 0 where #0 0 -1 29 def BTL merge leaps #0 1 1 array where #0 -1 0 where #0 1 0 where #0 0 1 30 def fl checkleap #0 #1 1 1 or checkaleap #0 #1 0 1 or checkaleap #0 #1 0 -1 31 copyfn fl FL 32 def flL merge leaps #0 1 1 array where #0 0 1 where #0 0 -1 33 def FLL merge leaps #0 1 1 array where #0 0 1 where #0 0 -1 34 def g checkleap #0 #1 0 1 or checkaleap #0 #1 -1 1 or checkaleap #0 #1 1 1 35 def G checkleap #0 #1 0 1 or checkaleap #0 #1 -1 -1 or checkaleap #0 #1 1 -1 36 def gL merge leaps #0 0 1 array where #0 -1 1 where #0 1 1 37 def GL merge leaps #0 0 1 array where #0 -1 -1 where #0 1 -1 38 def de fn BT #0 #1 39 def DE fn bt #0 #1 40 def deL merge leaps #0 1 1 array where #0 -1 0 where #0 1 0 where #0 0 1 41 def DEL merge leaps #0 1 1 array where #0 -1 0 where #0 1 0 where #0 0 -1 42 def rc checkaride #0 #1 0 1 or checkaride #0 #1 0 -1 43 copyfn rc RC 44 def rcL rays #0 0 1 45 def RCL rays #0 0 1 46 def l checkaride #0 #1 0 -1 and <= distance #0 #1 2 or checkaride #0 #1 0 1 47 def L checkaride #0 #1 0 1 and <= distance #0 #1 2 or checkaride #0 #1 0 -1 48 def lL rays #0 0 1 49 def LL rays #0 0 1 50 def ky checkleap #0 #1 1 1 or checkleap #0 #1 0 2 51 copyfn ky KY 52 def kyL merge leaps #0 1 1 leaps #0 0 2 53 def KYL merge leaps #0 1 1 leaps #0 0 2 54 def ph checkleap #0 #1 0 1 or checkleap #0 #1 2 2 55 copyfn ph PH 56 def phL merge leaps #0 0 1 leaps #0 2 2 57 def PHL merge leaps #0 0 1 leaps #0 2 2 58 def sm checkaride #0 #1 -1 0 or checkaride #0 #1 1 0 or checkleap #0 #1 0 1 59 copyfn sm SM 60 def smL rays #0 0 1 61 def SML rays #0 0 1 62 def vm checkaride #0 #1 0 -1 or checkaride #0 #1 0 1 or checkleap #0 #1 0 1 63 copyfn vm VM 64 def vmL rays #0 0 1 65 def VML rays #0 0 1 66 def b checkride #0 #1 1 1 67 def B checkride #0 #1 1 1 68 def bL rays #0 1 1 69 def BL rays #0 1 1 70 def r checkride #0 #1 0 1 71 def R checkride #0 #1 0 1 72 def rL rays #0 0 1 73 def RL rays #0 0 1 74 def dh fn b #0 #1 or checkleap #0 #1 0 1 75 def DH fn B #0 #1 or checkleap #0 #1 0 1 76 def dhL merge rays #0 1 1 leaps #0 0 1 77 def DHL merge rays #0 1 1 leaps #0 0 1 78 def dk fn r #0 #1 or checkleap #0 #1 1 1 79 def DK fn R #0 #1 or checkleap #0 #1 1 1 80 def dkL merge rays #0 0 1 leaps #0 1 1 81 def DKL merge rays #0 0 1 leaps #0 1 1 82 def ln <= distance #0 #1 cond var firstpart 2 1 83 copyfn ln LN 84 def lnL mergeall leaps #0 0 1 leaps #0 1 1 leaps #0 0 2 leaps #0 1 2 leaps #0 2 2 85 def LNL mergeall leaps #0 0 1 leaps #0 1 1 leaps #0 0 2 leaps #0 1 2 leaps #0 2 2 86 def fk fn r #0 #1 or fn b #0 #1 87 def FK fn R #0 #1 or fn B #0 #1 88 def fkL merge rays #0 0 1 rays #0 1 1 89 def FKL merge rays #0 0 1 rays #0 1 1 90 copyfn g p$ 91 copyfn G P$ 92 copyfn gL p$L 93 copyfn GL P$L 94 copyfn de de$ 95 copyfn DE DE$ 96 copyfn deL de$L 97 copyfn DEL DE$L 98 copyfn sm sm$ 99 copyfn SM SM$ 100 copyfn smL sm$L 101 copyfn SML SM$L 102 copyfn vm vm$ 103 copyfn VM VM$ 104 copyfn vmL vm$L 105 copyfn VML VM$L 106 def fs$ checkaride #0 #1 0 1 or checkaride #0 #1 0 -1 or checkleap #0 #1 0 1 or checkleap #0 #1 1 1 107 copyfn fs$ FS$ 108 def fs$L mergeall ray #0 0 1 ray #0 0 -1 leaps #0 0 1 leaps #0 1 1 109 def FS$L mergeall ray #0 0 1 ray #0 0 -1 leaps #0 0 1 leaps #0 1 1 110 copyfn b b$ 111 copyfn B B$ 112 copyfn bL b$L 113 copyfn BL B$L 114 copyfn r r$ 115 copyfn R R$ 116 copyfn rL r$L 117 copyfn RL R$L 118 def cp$ checkleap #0 #1 0 1 or checkleap #0 #1 1 1 119 copyfn cp$ CP$ 120 def cp$L merge leaps #0 0 1 leaps #0 1 1 121 def CP$L merge leaps #0 0 1 leaps #0 1 1 122 def w$ checkaride #0 #1 0 1 or checkaride #0 #1 0 -1 or checkaride #0 #1 -1 -1 or checkaride #0 #1 1 -1 123 def W$ checkaride #0 #1 0 1 or checkaride #0 #1 0 -1 or checkaride #0 #1 -1 1 or checkaride #0 #1 1 1 124 def w$L mergeall ray #0 0 1 ray #0 0 -1 ray #0 -1 -1 ray #0 1 -1 125 def W$L mergeall ray #0 0 1 ray #0 0 -1 ray #0 -1 1 ray #0 1 1 126 def wh$ checkaride #0 #1 0 1 or checkaride #0 #1 0 -1 or checkaride #0 #1 -1 1 or checkaride #0 #1 1 1 127 def WH$ checkaride #0 #1 0 1 or checkaride #0 #1 0 -1 or checkaride #0 #1 -1 -1 or checkaride #0 #1 1 -1 128 def wh$L mergeall ray #0 0 1 ray #0 0 -1 ray #0 -1 1 ray #0 1 1 129 def WH$L mergeall ray #0 0 1 ray #0 0 -1 ray #0 -1 -1 ray #0 1 -1 130 copyfn ln ln$ 131 copyfn LN LN$ 132 copyfn lnL ln$L 133 copyfn LNL LN$L 134 copyfn fk fk$ 135 copyfn FK FK$ 136 copyfn fkL fk$L 137 copyfn FKL FK$L 138 def fb$ checkride #0 #1 1 1 or checkaride #0 #1 -1 0 or checkaride #0 #1 1 0 139 copyfn fb$ FB$ 140 def fb$L merge rays #0 0 1 rays #0 1 1 141 def FB$L merge rays #0 0 1 rays #0 1 1 142 def fo$ checkride #0 #1 1 1 or checkaride #0 #1 0 -1 or checkaride #0 #1 0 1 143 copyfn fo$ FO$ 144 def fo$L merge rays #0 0 1 rays #0 1 1 145 def FO$L merge rays #0 0 1 rays #0 1 1 146 copyfn dh dh$ 147 copyfn DH DH$ 148 copyfn dhL dh$L 149 copyfn DHL DH$L 150 copyfn dk dk$ 151 copyfn DK DK$ 152 copyfn dkL dk$L 153 copyfn DKL DK$L 154 def hf$ cond var firstpart (checkride #0 #1 1 1 or checkaride #0 #1 -1 0 or checkaride #0 #1 1 0 or checkaride #0 #1 0 -1 or checkleap #0 #1 0 1 or checkaleap #0 #1 0 2) (checkaleap #0 #1 0 1 or checkaleap #0 #1 0 -1) and #0 and #1 155 def HF$ cond var firstpart (checkride #0 #1 1 1 or checkaride #0 #1 -1 0 or checkaride #0 #1 1 0 or checkaride #0 #1 0 1 or checkleap #0 #1 0 1 or checkaleap #0 #1 0 -2) (checkaleap #0 #1 0 1 or checkaleap #0 #1 0 -1) and #0 and #1 156 def hf$L mergeall rays #0 0 1 rays #0 1 1 leaps #0 0 2 157 def HF$L mergeall rays #0 0 1 rays #0 1 1 leaps #0 0 2 158 def se$ cond var firstpart (checkride #0 #1 0 1 or checkaride #0 #1 -1 -1 or checkaride #0 #1 1 -1 or checkleap #0 #1 1 1 or checkaleap #0 #1 -2 2 or checkaleap #0 #1 2 2) (sub SE #0 #1) and #0 and #1 159 def SE$ cond var firstpart (checkride #0 #1 0 1 or checkaride #0 #1 -1 1 or checkaride #0 #1 1 1 or checkleap #0 #1 1 1 or checkaleap #0 #1 -2 -2 or checkaleap #0 #1 2 -2) (sub SE #0 #1) and #0 and #1 160 def se$L mergeall rays #0 0 1 rays #0 1 1 leaps #0 2 2 161 def SE$L mergeall rays #0 0 1 rays #0 1 1 leaps #0 2 2 162 def k checkleap #0 #1 0 1 or checkleap #0 #1 1 1 163 copyfn k K 164 def kL merge leaps #0 0 1 leaps #0 1 1 165 def KL merge leaps #0 0 1 leaps #0 1 1 166 sub SE from to 167 if > slope origin dest 0 168 return checkaleap #from #to 1 1 or checkaleap #from #to -1 -1 169 else 170 return checkaleap #from #to 1 -1 or checkaleap #from #to -1 1 171 endif 172 endsub 173 sub checked king to 174 my from piece 175 if isupper #king 176 def enemies intersection noupper #bpieces 177 else 178 def enemies intersection nolower #wpieces 179 endif 180 for (from piece) fn enemies 181 if fn #piece #from #to 182 return #from 183 endif 184 next 185 return false 186 endsub 187 sub stalemated kingpos 188 store 189 local from piece to 190 if isupper #kingpos 191 def friends intersection nolower #wpieces 192 def friend match #0 #wpieces 193 else 194 def friends intersection noupper #bpieces 195 def friend match #0 #bpieces 196 endif 197 set firstpart true 198 store 199 for (from piece) fn friends 200 set colid filename #from 201 for to fn join #piece L #from 202 set xmov 0 203 if fn #piece #from #to and not fn friend space #to and onboard #to 204 move #from #to 205 setlegal #from #to 206 inc xmov 207 if xmov == 1 208 restore 209 move #from 1h 210 setlegal #from 1h 211 endif 212 endif 213 restore 214 next 215 next 216 gosub appmsg #msg1 #colid 217 gosub appmsg #msg1 #from 218 echo #msg1 219 return cond count system legalmoves false true 220 endsub 221 sub legalmoves2 kingpos 222 store 223 local from piece to 224 if isupper #kingpos 225 def friends intersection nolower #wpieces 226 def friend match #0 #wpieces 227 else 228 def friends intersection noupper #bpieces 229 def friend match #0 #bpieces 230 endif 231 set firstpart false 232 set oldto dest 233 store 234 for (from piece) fn friends 235 if == #from #oldto 236 for to fn join #piece L #from 237 if fn #piece #from #to and not fn friend space #to and onboard #to 238 move #from #to 239 setlegal #from #to 240 endif 241 restore 242 next 243 endif 244 next 245 return cond count system legalmoves false true 246 endsub 247 sub isdoublemove from to 248 if checkleap #from #to 0 1 or checkleap #from #to 1 1 and match moved ln LN ln$ LN$ and var firstpart 249 return true 250 elseif checkaleap #from #to 0 1 and match moved hf$ and var firstpart 251 return true 252 elseif checkaleap #from #to 0 -1 and match moved HF$ and var firstpart 253 return true 254 elseif checkaleap #from #to -1 1 or checkaleap #from #to 1 1 and match moved se$ and var firstpart 255 return true 256 elseif checkaleap #from #to -1 -1 or checkaleap #from #to 1 -1 and match moved SE$ and var firstpart 257 return true 258 else 259 return false 260 endif 261 endsub 262 sub bpromotion from to 263 if onboard where #from 0 #pzs and onboard where #to 0 #pzs 264 return false 265 elseif not onboard where #from 0 #pzs and not capture and not var firstcapture 266 if match moved p and not onboard where #to 0 1 267 return true 268 else 269 return false 270 endif 271 elseif not match moved p gb c s bt fl g de rc l ky ph sm vm b r dh dk 272 return false 273 else 274 return true 275 endif 276 endsub 277 sub appmsg m1 m2 278 local m1 m2 279 set msg1 join join #m2 @ #m1 280 endsub 281 sub wpromotion from to 282 if onboard where #from 0 neg #pzs and onboard where #to 0 neg #pzs 283 return false 284 elseif not onboard where #from 0 neg #pzs and not capture and not var firstcapture 285 if match moved P and not onboard where #to 0 neg 1 286 return true 287 else 288 return false 289 endif 290 elseif not match moved P GB C S BT FL G DE RC L KY PH SM VM B R DH DK 291 return false 292 else 293 return true 294 endif 295 endsub 296 sub bpromote from to 297 set legal false 298 verify fn moved origin dest 299 if match moved ln ln$ and match old LN LN$ and > distance #from #to 1 and sub checked king #to and match #midpoint @ P GB 300 die You may not capture a protected non-adjacent Lion with a Lion unless you first capture something other than a Pawn or Go between. 301 elseif not match moved ln ln$ and match old LN LN$ and == #lioncaptured true and not flag dest 302 die You may not capture a Lion with a non-Lion when a Lion was just captured by a non-Lion on another square. 303 endif 304 if != space #to moved and sub isdoublemove origin dest 305 die "You may not promote any piece without completing your move." 306 elseif != space #to moved and onboard where #from 0 #pzs and onboard where #to 0 #pzs 307 die "You may not promote any piece without entering the promotion zone or capturing something while starting in it." 308 elseif != moved p or onboard where #to 0 1 and != space #to moved and not onboard where #from 0 #pzs and not capture and not var firstcapture 309 die "You may not promote any piece without entering the promotion zone or capturing something while starting in it." 310 elseif not onboard where #from 0 #pzs or not onboard where #to 0 #pzs 311 if == moved space #to and not fnmatch *-dest* thismove and onboard where #from 0 #pzs and not onboard where #to 0 #pzs and match moved p gb c s bt fl g de rc l ky ph sm vm b r dh dk and not sub isdoublemove origin dest 312 set pc moved 313 set pm elem moved promote 314 askpromote #pm #pc 315 elseif == moved space #to and not fnmatch *-dest* thismove and not onboard where #from 0 #pzs and (var firstcapture or capture) and match moved p gb c s bt fl g de rc l ky ph sm vm b r dh dk and not sub isdoublemove origin dest 316 set pc moved 317 set pm elem moved promote 318 askpromote #pm #pc 319 elseif not capture and not var firstcapture and == moved space #to and not fnmatch *-dest* thismove and match moved p and not onboard where #to 0 1 and not sub isdoublemove origin dest 320 set pc moved 321 set pm elem moved promote 322 askpromote #pm #pc 323 elseif != moved space dest and != elem moved promote space dest 324 set np space #to 325 die "You may not promote a" moved "to a" #np 326 endif 327 endif 328 set legal true 329 return true 330 endsub 331 sub wpromote from to 332 set legal false 333 verify fn moved origin dest 334 if match moved LN LN$ and match old ln ln$ and > distance #from #to 1 and sub checked KING #to and match #midpoint @ p gb 335 die You may not capture a protected non-adjacent Lion with a Lion unless you first capture something other than a Pawn or Go between. 336 elseif not match moved LN LN$ and match old ln ln$ and == #lioncaptured true and not flag dest 337 die You may not capture a Lion with a non-Lion when a Lion was just captured by a non-Lion on another square. 338 endif 339 if != space #to moved and sub isdoublemove origin dest 340 die "You may not promote any piece without completing your move." 341 elseif != space #to moved and onboard where #from 0 neg #pzs and onboard where #to 0 neg #pzs 342 die "You may not promote any piece without entering the promotion zone or capturing something while starting in it." 343 elseif != moved P or onboard where #to 0 neg 1 and != space #to moved and not onboard where #from 0 neg #pzs and not capture and not var firstcapture 344 die "You may not promote any piece without entering the promotion zone or capturing something while starting in it." 345 elseif not onboard where #from 0 neg #pzs or not onboard where #to 0 neg #pzs 346 if == moved space #to and not fnmatch *-dest* thismove and onboard where #from 0 neg #pzs and not onboard where #to 0 neg #pzs and match moved P GB C S BT FL G DE RC L KY PH SM VM B R DH DK and not sub isdoublemove origin dest 347 set pc moved 348 set pm elem moved promote 349 askpromote #pm #pc 350 elseif == moved space #to and not fnmatch *-dest* thismove and not onboard where #from 0 neg #pzs and (var firstcapture or capture) and match moved P GB C S BT FL G DE RC L KY PH SM VM B R DH DK and not sub isdoublemove origin dest 351 set pc moved 352 set pm elem moved promote 353 askpromote #pm #pc 354 elseif not capture and not var firstcapture and == moved space #to and not fnmatch *-dest* thismove and match moved P and not onboard where #to 0 neg 1 and not sub isdoublemove origin dest 355 set pc moved 356 set pm elem moved promote 357 askpromote #pm #pc 358 elseif != moved space dest and != elem moved promote space dest 359 set np space #to 360 die "You may not promote a" moved "to a" #np 361 endif 362 endif 363 set legal true 364 return true 365 endsub 366 sub preauto1 367 set msg1 "" 368 store 369 endsub 370 sub preauto2 371 set msg1 "" 372 store 373 endsub 374 sub postauto1 375 set mvs explode chr 59 thismove 376 restore 377 set i 0 378 set firstpart true 379 set firstcapture false 380 eval join "MOVE: " trim elem var i mvs 381 if match old #bpieces 382 die You may not capture your own pieces. 383 endif 384 set ori origin 385 set dst dest 386 if not sub isdoublemove origin dest and sub bpromotion #ori dest 387 inc i 388 if < var i count var mvs 389 set ori2 origin 390 set dst2 dest 391 eval join "MOVE: " trim elem var i mvs 392 if != var dst2 dest or != var ori2 origin or == pass trim elem var i mvs 393 die Only a promotion can immediately follow a promotable piece moving to or from the promotion zone. 394 endif 395 endif 396 endif 397 set legal false 398 switch moved 399 case p p$ gb de$ c sm$ s vm$ g r$ fl b$ bt fs$ de cp$ ph fk$ ky ln$ l wh$ rc w$ sm fb$ vm fo$ b dh$ r dk$ dh hf$ dk se$ fk ln k 400 if capture and sub isdoublemove origin dest 401 set midpoint old 402 else 403 set midpoint @ 404 endif 405 gosub bpromote #ori dest 406 break 407 default 408 die You may not move a moved 409 endswitch 410 if not var legal 411 die You may not move a moved from origin to dest 412 endif 413 if capture 414 set firstcapture true 415 endif 416 if var firstpart and sub isdoublemove origin dest 417 inc i 418 do while < var i count var mvs 419 set firstpart false 420 set mv trim elem var i mvs 421 if == var mv pass 422 if not sub isdoublemove origin dest and sub bpromotion #ori dest 423 inc i 424 if < var i count var mvs 425 set ori2 origin 426 set dst2 dest 427 eval join "MOVE: " trim elem var i mvs 428 if != var dst2 dest or != var ori2 origin 429 die Only a promotion can immediately follow a promotable piece moving to or from the promotion zone. 430 endif 431 endif 432 endif 433 gosub bpromote #ori dest 434 break 435 endif 436 eval join "MOVE: " var mv 437 if match old #bpieces 438 die You may not capture your own pieces. 439 elseif != var dst origin 440 die You may not move more than one piece per turn. 441 endif 442 if not sub isdoublemove origin dest and sub bpromotion #ori dest 443 inc i 444 if < var i count var mvs 445 set ori2 origin 446 set dst2 dest 447 eval join "MOVE: " trim elem var i mvs 448 if != var dst2 dest or != var ori2 origin 449 die Only a promotion can immediately follow a promotable piece moving to or from the promotion zone. 450 endif 451 endif 452 endif 453 set legal false 454 switch moved 455 case ln ln$ hf$ se$ 456 gosub bpromote #ori dest 457 break 458 default 459 die You may not move a moved 460 endswitch 461 if not var legal 462 die You may not move a moved from origin to dest 463 endif 464 loop never 465 endif 466 inc i 467 if < var i count var mvs 468 die Too many moves. 469 endif 470 unsetflag spaces 471 if == moved ky and match old (LN LN$) 472 setflag dest 473 endif 474 if match #midpoint (LN LN$) or match old (LN LN$) and not match moved (ln ln$) and not sub isdoublemove origin dest 475 set lioncaptured true 476 else 477 set lioncaptured false 478 endif 479 endsub 480 sub postauto2 481 set mvs explode chr 59 thismove 482 restore 483 set i 0 484 set firstpart true 485 set firstcapture false 486 eval join "MOVE: " trim elem var i mvs 487 if match old #wpieces 488 die You may not capture your own pieces. 489 endif 490 set ori origin 491 set dst dest 492 if not sub isdoublemove origin dest and sub wpromotion #ori dest 493 inc i 494 if < var i count var mvs 495 set ori2 origin 496 set dst2 dest 497 eval join "MOVE: " trim elem var i mvs 498 if != var dst2 dest or != var ori2 origin or == pass trim elem var i mvs 499 die Only a promotion can immediately follow a promotable piece moving to or from the promotion zone. 500 endif 501 endif 502 endif 503 set legal false 504 switch moved 505 case P P$ GB DE$ C SM$ S VM$ G R$ FL B$ BT FS$ DE CP$ PH FK$ KY LN$ L WH$ RC W$ SM FB$ VM FO$ B DH$ R DK$ DH HF$ DK SE$ FK LN K 506 if capture and sub isdoublemove origin dest 507 set midpoint old 508 else 509 set midpoint @ 510 endif 511 gosub wpromote #ori dest 512 break 513 default 514 die You may not move a moved 515 endswitch 516 if not var legal 517 die You may not move a moved from origin to dest 518 endif 519 if capture 520 set firstcapture true 521 endif 522 if var firstpart and sub isdoublemove origin dest 523 inc i 524 do while < var i count var mvs 525 set firstpart false 526 set mv trim elem var i mvs 527 if == var mv pass 528 if not sub isdoublemove origin dest and sub wpromotion #ori dest 529 inc i 530 if < var i count var mvs 531 set ori2 origin 532 set dst2 dest 533 eval join "MOVE: " trim elem var i mvs 534 if != var dst2 dest or != var ori2 origin 535 die Only a promotion can immediately follow a promotable piece moving to or from the promotion zone. 536 endif 537 endif 538 endif 539 gosub wpromote #ori dest 540 break 541 endif 542 eval join "MOVE: " var mv 543 if match old #wpieces 544 die You may not capture your own pieces. 545 elseif != var dst origin 546 die You may not move more than one piece per turn. 547 endif 548 if not sub isdoublemove origin dest and sub wpromotion #ori dest 549 inc i 550 if < var i count var mvs 551 set ori2 origin 552 set dst2 dest 553 eval join "MOVE: " trim elem var i mvs 554 if != var dst2 dest or != var ori2 origin 555 die Only a promotion can immediately follow a promotable piece moving to or from the promotion zone. 556 endif 557 endif 558 endif 559 set legal false 560 switch moved 561 case LN LN$ HF$ SE$ 562 gosub wpromote #ori dest 563 break 564 default 565 die You may not move a moved 566 endswitch 567 if not var legal 568 die You may not move a moved from origin to dest 569 endif 570 loop never 571 endif 572 inc i 573 if < var i count var mvs 574 die Too many moves. 575 endif 576 unsetflag spaces 577 if == moved KY and match old (ln ln$) 578 setflag dest 579 endif 580 if match #midpoint (ln ln$) or match old (ln ln$) and not match moved (LN LN$) and not sub isdoublemove origin dest 581 set lioncaptured true 582 else 583 set lioncaptured false 584 endif 585 endsub 586 if not findpiece k spaces and not findpiece cp$ spaces 587 say All Royals Captured! White has won! 588 won 589 endif 590 if var firstpart and sub isdoublemove origin dest and match moved LN LN$ HF$ SE$ 591 remind "Enter second leg of move or press Pass" 592 gosub legalmoves2 KING 593 continuemove 594 elseif sub stalemated king 595 endif 596 end 597functions
Array ( [p] => Array ( [0] => checkaleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 ) [P] => Array ( [0] => checkaleap [1] => #0 [2] => #1 [3] => 0 [4] => -1 ) [pL] => Array ( [0] => array [1] => where [2] => #0 [3] => 0 [4] => 1 ) [PL] => Array ( [0] => array [1] => where [2] => #0 [3] => 0 [4] => -1 ) [gb] => Array ( [0] => checkaleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaleap [7] => #0 [8] => #1 [9] => 0 [10] => -1 ) [GB] => Array ( [0] => checkaleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaleap [7] => #0 [8] => #1 [9] => 0 [10] => -1 ) [gbL] => Array ( [0] => array [1] => where [2] => #0 [3] => 0 [4] => 1 [5] => where [6] => #0 [7] => 0 [8] => -1 ) [GBL] => Array ( [0] => array [1] => where [2] => #0 [3] => 0 [4] => 1 [5] => where [6] => #0 [7] => 0 [8] => -1 ) [c] => Array ( [0] => checkaleap [1] => #0 [2] => #1 [3] => -1 [4] => 1 [5] => or [6] => checkaleap [7] => #0 [8] => #1 [9] => 1 [10] => 1 [11] => or [12] => fn [13] => gb [14] => #0 [15] => #1 ) [C] => Array ( [0] => checkaleap [1] => #0 [2] => #1 [3] => -1 [4] => -1 [5] => or [6] => checkaleap [7] => #0 [8] => #1 [9] => 1 [10] => -1 [11] => or [12] => fn [13] => GB [14] => #0 [15] => #1 ) [cL] => Array ( [0] => array [1] => where [2] => #0 [3] => 0 [4] => 1 [5] => where [6] => #0 [7] => 0 [8] => -1 [9] => where [10] => #0 [11] => -1 [12] => 1 [13] => where [14] => #0 [15] => 1 [16] => 1 ) [CL] => Array ( [0] => array [1] => where [2] => #0 [3] => 0 [4] => 1 [5] => where [6] => #0 [7] => 0 [8] => -1 [9] => where [10] => #0 [11] => -1 [12] => -1 [13] => where [14] => #0 [15] => 1 [16] => -1 ) [s] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => fn [7] => p [8] => #0 [9] => #1 ) [S] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => fn [7] => P [8] => #0 [9] => #1 ) [sL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 1 [5] => array [6] => where [7] => #0 [8] => 0 [9] => 1 ) [SL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 1 [5] => array [6] => where [7] => #0 [8] => 0 [9] => -1 ) [bt] => Array ( [0] => fn [1] => S [2] => #0 [3] => #1 [4] => or [5] => checkaleap [6] => #0 [7] => #1 [8] => -1 [9] => 0 [10] => or [11] => checkaleap [12] => #0 [13] => #1 [14] => 1 [15] => 0 ) [BT] => Array ( [0] => fn [1] => s [2] => #0 [3] => #1 [4] => or [5] => checkaleap [6] => #0 [7] => #1 [8] => -1 [9] => 0 [10] => or [11] => checkaleap [12] => #0 [13] => #1 [14] => 1 [15] => 0 ) [btL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 1 [5] => array [6] => where [7] => #0 [8] => -1 [9] => 0 [10] => where [11] => #0 [12] => 1 [13] => 0 [14] => where [15] => #0 [16] => 0 [17] => -1 ) [BTL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 1 [5] => array [6] => where [7] => #0 [8] => -1 [9] => 0 [10] => where [11] => #0 [12] => 1 [13] => 0 [14] => where [15] => #0 [16] => 0 [17] => 1 ) [fl] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => checkaleap [7] => #0 [8] => #1 [9] => 0 [10] => 1 [11] => or [12] => checkaleap [13] => #0 [14] => #1 [15] => 0 [16] => -1 ) [FL] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => checkaleap [7] => #0 [8] => #1 [9] => 0 [10] => 1 [11] => or [12] => checkaleap [13] => #0 [14] => #1 [15] => 0 [16] => -1 ) [flL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 1 [5] => array [6] => where [7] => #0 [8] => 0 [9] => 1 [10] => where [11] => #0 [12] => 0 [13] => -1 ) [FLL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 1 [5] => array [6] => where [7] => #0 [8] => 0 [9] => 1 [10] => where [11] => #0 [12] => 0 [13] => -1 ) [g] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaleap [7] => #0 [8] => #1 [9] => -1 [10] => 1 [11] => or [12] => checkaleap [13] => #0 [14] => #1 [15] => 1 [16] => 1 ) [G] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaleap [7] => #0 [8] => #1 [9] => -1 [10] => -1 [11] => or [12] => checkaleap [13] => #0 [14] => #1 [15] => 1 [16] => -1 ) [gL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 0 [4] => 1 [5] => array [6] => where [7] => #0 [8] => -1 [9] => 1 [10] => where [11] => #0 [12] => 1 [13] => 1 ) [GL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 0 [4] => 1 [5] => array [6] => where [7] => #0 [8] => -1 [9] => -1 [10] => where [11] => #0 [12] => 1 [13] => -1 ) [de] => Array ( [0] => fn [1] => BT [2] => #0 [3] => #1 ) [DE] => Array ( [0] => fn [1] => bt [2] => #0 [3] => #1 ) [deL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 1 [5] => array [6] => where [7] => #0 [8] => -1 [9] => 0 [10] => where [11] => #0 [12] => 1 [13] => 0 [14] => where [15] => #0 [16] => 0 [17] => 1 ) [DEL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 1 [5] => array [6] => where [7] => #0 [8] => -1 [9] => 0 [10] => where [11] => #0 [12] => 1 [13] => 0 [14] => where [15] => #0 [16] => 0 [17] => -1 ) [rc] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 0 [10] => -1 ) [RC] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 0 [10] => -1 ) [rcL] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [RCL] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [l] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => 0 [4] => -1 [5] => and [6] => <= [7] => distance [8] => #0 [9] => #1 [10] => 2 [11] => or [12] => checkaride [13] => #0 [14] => #1 [15] => 0 [16] => 1 ) [L] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => and [6] => <= [7] => distance [8] => #0 [9] => #1 [10] => 2 [11] => or [12] => checkaride [13] => #0 [14] => #1 [15] => 0 [16] => -1 ) [lL] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [LL] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [ky] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 0 [10] => 2 ) [KY] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 0 [10] => 2 ) [kyL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 1 [5] => leaps [6] => #0 [7] => 0 [8] => 2 ) [KYL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 1 [5] => leaps [6] => #0 [7] => 0 [8] => 2 ) [ph] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 2 [10] => 2 ) [PH] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 2 [10] => 2 ) [phL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 0 [4] => 1 [5] => leaps [6] => #0 [7] => 2 [8] => 2 ) [PHL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 0 [4] => 1 [5] => leaps [6] => #0 [7] => 2 [8] => 2 ) [sm] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => -1 [4] => 0 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 1 [10] => 0 [11] => or [12] => checkleap [13] => #0 [14] => #1 [15] => 0 [16] => 1 ) [SM] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => -1 [4] => 0 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 1 [10] => 0 [11] => or [12] => checkleap [13] => #0 [14] => #1 [15] => 0 [16] => 1 ) [smL] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [SML] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [vm] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => 0 [4] => -1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 0 [10] => 1 [11] => or [12] => checkleap [13] => #0 [14] => #1 [15] => 0 [16] => 1 ) [VM] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => 0 [4] => -1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 0 [10] => 1 [11] => or [12] => checkleap [13] => #0 [14] => #1 [15] => 0 [16] => 1 ) [vmL] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [VML] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [b] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 ) [B] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 ) [bL] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 1 ) [BL] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 1 ) [r] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 0 [4] => 1 ) [R] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 0 [4] => 1 ) [rL] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [RL] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [dh] => Array ( [0] => fn [1] => b [2] => #0 [3] => #1 [4] => or [5] => checkleap [6] => #0 [7] => #1 [8] => 0 [9] => 1 ) [DH] => Array ( [0] => fn [1] => B [2] => #0 [3] => #1 [4] => or [5] => checkleap [6] => #0 [7] => #1 [8] => 0 [9] => 1 ) [dhL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 1 [5] => leaps [6] => #0 [7] => 0 [8] => 1 ) [DHL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 1 [5] => leaps [6] => #0 [7] => 0 [8] => 1 ) [dk] => Array ( [0] => fn [1] => r [2] => #0 [3] => #1 [4] => or [5] => checkleap [6] => #0 [7] => #1 [8] => 1 [9] => 1 ) [DK] => Array ( [0] => fn [1] => R [2] => #0 [3] => #1 [4] => or [5] => checkleap [6] => #0 [7] => #1 [8] => 1 [9] => 1 ) [dkL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => leaps [6] => #0 [7] => 1 [8] => 1 ) [DKL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => leaps [6] => #0 [7] => 1 [8] => 1 ) [ln] => Array ( [0] => <= [1] => distance [2] => #0 [3] => #1 [4] => cond [5] => var [6] => firstpart [7] => 2 [8] => 1 ) [LN] => Array ( [0] => <= [1] => distance [2] => #0 [3] => #1 [4] => cond [5] => var [6] => firstpart [7] => 2 [8] => 1 ) [lnL] => Array ( [0] => mergeall [1] => leaps [2] => #0 [3] => 0 [4] => 1 [5] => leaps [6] => #0 [7] => 1 [8] => 1 [9] => leaps [10] => #0 [11] => 0 [12] => 2 [13] => leaps [14] => #0 [15] => 1 [16] => 2 [17] => leaps [18] => #0 [19] => 2 [20] => 2 ) [LNL] => Array ( [0] => mergeall [1] => leaps [2] => #0 [3] => 0 [4] => 1 [5] => leaps [6] => #0 [7] => 1 [8] => 1 [9] => leaps [10] => #0 [11] => 0 [12] => 2 [13] => leaps [14] => #0 [15] => 1 [16] => 2 [17] => leaps [18] => #0 [19] => 2 [20] => 2 ) [fk] => Array ( [0] => fn [1] => r [2] => #0 [3] => #1 [4] => or [5] => fn [6] => b [7] => #0 [8] => #1 ) [FK] => Array ( [0] => fn [1] => R [2] => #0 [3] => #1 [4] => or [5] => fn [6] => B [7] => #0 [8] => #1 ) [fkL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [FKL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [p$] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaleap [7] => #0 [8] => #1 [9] => -1 [10] => 1 [11] => or [12] => checkaleap [13] => #0 [14] => #1 [15] => 1 [16] => 1 ) [P$] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaleap [7] => #0 [8] => #1 [9] => -1 [10] => -1 [11] => or [12] => checkaleap [13] => #0 [14] => #1 [15] => 1 [16] => -1 ) [p$L] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 0 [4] => 1 [5] => array [6] => where [7] => #0 [8] => -1 [9] => 1 [10] => where [11] => #0 [12] => 1 [13] => 1 ) [P$L] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 0 [4] => 1 [5] => array [6] => where [7] => #0 [8] => -1 [9] => -1 [10] => where [11] => #0 [12] => 1 [13] => -1 ) [de$] => Array ( [0] => fn [1] => BT [2] => #0 [3] => #1 ) [DE$] => Array ( [0] => fn [1] => bt [2] => #0 [3] => #1 ) [de$L] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 1 [5] => array [6] => where [7] => #0 [8] => -1 [9] => 0 [10] => where [11] => #0 [12] => 1 [13] => 0 [14] => where [15] => #0 [16] => 0 [17] => 1 ) [DE$L] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 1 [5] => array [6] => where [7] => #0 [8] => -1 [9] => 0 [10] => where [11] => #0 [12] => 1 [13] => 0 [14] => where [15] => #0 [16] => 0 [17] => -1 ) [sm$] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => -1 [4] => 0 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 1 [10] => 0 [11] => or [12] => checkleap [13] => #0 [14] => #1 [15] => 0 [16] => 1 ) [SM$] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => -1 [4] => 0 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 1 [10] => 0 [11] => or [12] => checkleap [13] => #0 [14] => #1 [15] => 0 [16] => 1 ) [sm$L] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [SM$L] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [vm$] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => 0 [4] => -1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 0 [10] => 1 [11] => or [12] => checkleap [13] => #0 [14] => #1 [15] => 0 [16] => 1 ) [VM$] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => 0 [4] => -1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 0 [10] => 1 [11] => or [12] => checkleap [13] => #0 [14] => #1 [15] => 0 [16] => 1 ) [vm$L] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [VM$L] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [fs$] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 0 [10] => -1 [11] => or [12] => checkleap [13] => #0 [14] => #1 [15] => 0 [16] => 1 [17] => or [18] => checkleap [19] => #0 [20] => #1 [21] => 1 [22] => 1 ) [FS$] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 0 [10] => -1 [11] => or [12] => checkleap [13] => #0 [14] => #1 [15] => 0 [16] => 1 [17] => or [18] => checkleap [19] => #0 [20] => #1 [21] => 1 [22] => 1 ) [fs$L] => Array ( [0] => mergeall [1] => ray [2] => #0 [3] => 0 [4] => 1 [5] => ray [6] => #0 [7] => 0 [8] => -1 [9] => leaps [10] => #0 [11] => 0 [12] => 1 [13] => leaps [14] => #0 [15] => 1 [16] => 1 ) [FS$L] => Array ( [0] => mergeall [1] => ray [2] => #0 [3] => 0 [4] => 1 [5] => ray [6] => #0 [7] => 0 [8] => -1 [9] => leaps [10] => #0 [11] => 0 [12] => 1 [13] => leaps [14] => #0 [15] => 1 [16] => 1 ) [b$] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 ) [B$] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 ) [b$L] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 1 ) [B$L] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 1 ) [r$] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 0 [4] => 1 ) [R$] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 0 [4] => 1 ) [r$L] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [R$L] => Array ( [0] => rays [1] => #0 [2] => 0 [3] => 1 ) [cp$] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 1 [10] => 1 ) [CP$] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 1 [10] => 1 ) [cp$L] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 0 [4] => 1 [5] => leaps [6] => #0 [7] => 1 [8] => 1 ) [CP$L] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 0 [4] => 1 [5] => leaps [6] => #0 [7] => 1 [8] => 1 ) [w$] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 0 [10] => -1 [11] => or [12] => checkaride [13] => #0 [14] => #1 [15] => -1 [16] => -1 [17] => or [18] => checkaride [19] => #0 [20] => #1 [21] => 1 [22] => -1 ) [W$] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 0 [10] => -1 [11] => or [12] => checkaride [13] => #0 [14] => #1 [15] => -1 [16] => 1 [17] => or [18] => checkaride [19] => #0 [20] => #1 [21] => 1 [22] => 1 ) [w$L] => Array ( [0] => mergeall [1] => ray [2] => #0 [3] => 0 [4] => 1 [5] => ray [6] => #0 [7] => 0 [8] => -1 [9] => ray [10] => #0 [11] => -1 [12] => -1 [13] => ray [14] => #0 [15] => 1 [16] => -1 ) [W$L] => Array ( [0] => mergeall [1] => ray [2] => #0 [3] => 0 [4] => 1 [5] => ray [6] => #0 [7] => 0 [8] => -1 [9] => ray [10] => #0 [11] => -1 [12] => 1 [13] => ray [14] => #0 [15] => 1 [16] => 1 ) [wh$] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 0 [10] => -1 [11] => or [12] => checkaride [13] => #0 [14] => #1 [15] => -1 [16] => 1 [17] => or [18] => checkaride [19] => #0 [20] => #1 [21] => 1 [22] => 1 ) [WH$] => Array ( [0] => checkaride [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 0 [10] => -1 [11] => or [12] => checkaride [13] => #0 [14] => #1 [15] => -1 [16] => -1 [17] => or [18] => checkaride [19] => #0 [20] => #1 [21] => 1 [22] => -1 ) [wh$L] => Array ( [0] => mergeall [1] => ray [2] => #0 [3] => 0 [4] => 1 [5] => ray [6] => #0 [7] => 0 [8] => -1 [9] => ray [10] => #0 [11] => -1 [12] => 1 [13] => ray [14] => #0 [15] => 1 [16] => 1 ) [WH$L] => Array ( [0] => mergeall [1] => ray [2] => #0 [3] => 0 [4] => 1 [5] => ray [6] => #0 [7] => 0 [8] => -1 [9] => ray [10] => #0 [11] => -1 [12] => -1 [13] => ray [14] => #0 [15] => 1 [16] => -1 ) [ln$] => Array ( [0] => <= [1] => distance [2] => #0 [3] => #1 [4] => cond [5] => var [6] => firstpart [7] => 2 [8] => 1 ) [LN$] => Array ( [0] => <= [1] => distance [2] => #0 [3] => #1 [4] => cond [5] => var [6] => firstpart [7] => 2 [8] => 1 ) [ln$L] => Array ( [0] => mergeall [1] => leaps [2] => #0 [3] => 0 [4] => 1 [5] => leaps [6] => #0 [7] => 1 [8] => 1 [9] => leaps [10] => #0 [11] => 0 [12] => 2 [13] => leaps [14] => #0 [15] => 1 [16] => 2 [17] => leaps [18] => #0 [19] => 2 [20] => 2 ) [LN$L] => Array ( [0] => mergeall [1] => leaps [2] => #0 [3] => 0 [4] => 1 [5] => leaps [6] => #0 [7] => 1 [8] => 1 [9] => leaps [10] => #0 [11] => 0 [12] => 2 [13] => leaps [14] => #0 [15] => 1 [16] => 2 [17] => leaps [18] => #0 [19] => 2 [20] => 2 ) [fk$] => Array ( [0] => fn [1] => r [2] => #0 [3] => #1 [4] => or [5] => fn [6] => b [7] => #0 [8] => #1 ) [FK$] => Array ( [0] => fn [1] => R [2] => #0 [3] => #1 [4] => or [5] => fn [6] => B [7] => #0 [8] => #1 ) [fk$L] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [FK$L] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [fb$] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => -1 [10] => 0 [11] => or [12] => checkaride [13] => #0 [14] => #1 [15] => 1 [16] => 0 ) [FB$] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => -1 [10] => 0 [11] => or [12] => checkaride [13] => #0 [14] => #1 [15] => 1 [16] => 0 ) [fb$L] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [FB$L] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [fo$] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 0 [10] => -1 [11] => or [12] => checkaride [13] => #0 [14] => #1 [15] => 0 [16] => 1 ) [FO$] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => 0 [10] => -1 [11] => or [12] => checkaride [13] => #0 [14] => #1 [15] => 0 [16] => 1 ) [fo$L] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [FO$L] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [dh$] => Array ( [0] => fn [1] => b [2] => #0 [3] => #1 [4] => or [5] => checkleap [6] => #0 [7] => #1 [8] => 0 [9] => 1 ) [DH$] => Array ( [0] => fn [1] => B [2] => #0 [3] => #1 [4] => or [5] => checkleap [6] => #0 [7] => #1 [8] => 0 [9] => 1 ) [dh$L] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 1 [5] => leaps [6] => #0 [7] => 0 [8] => 1 ) [DH$L] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 1 [5] => leaps [6] => #0 [7] => 0 [8] => 1 ) [dk$] => Array ( [0] => fn [1] => r [2] => #0 [3] => #1 [4] => or [5] => checkleap [6] => #0 [7] => #1 [8] => 1 [9] => 1 ) [DK$] => Array ( [0] => fn [1] => R [2] => #0 [3] => #1 [4] => or [5] => checkleap [6] => #0 [7] => #1 [8] => 1 [9] => 1 ) [dk$L] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => leaps [6] => #0 [7] => 1 [8] => 1 ) [DK$L] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => leaps [6] => #0 [7] => 1 [8] => 1 ) [hf$] => Array ( [0] => cond [1] => var [2] => firstpart [3] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => -1 [10] => 0 [11] => or [12] => checkaride [13] => #0 [14] => #1 [15] => 1 [16] => 0 [17] => or [18] => checkaride [19] => #0 [20] => #1 [21] => 0 [22] => -1 [23] => or [24] => checkleap [25] => #0 [26] => #1 [27] => 0 [28] => 1 [29] => or [30] => checkaleap [31] => #0 [32] => #1 [33] => 0 [34] => 2 ) [4] => Array ( [0] => checkaleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaleap [7] => #0 [8] => #1 [9] => 0 [10] => -1 ) [5] => and [6] => #0 [7] => and [8] => #1 ) [HF$] => Array ( [0] => cond [1] => var [2] => firstpart [3] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => -1 [10] => 0 [11] => or [12] => checkaride [13] => #0 [14] => #1 [15] => 1 [16] => 0 [17] => or [18] => checkaride [19] => #0 [20] => #1 [21] => 0 [22] => 1 [23] => or [24] => checkleap [25] => #0 [26] => #1 [27] => 0 [28] => 1 [29] => or [30] => checkaleap [31] => #0 [32] => #1 [33] => 0 [34] => -2 ) [4] => Array ( [0] => checkaleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaleap [7] => #0 [8] => #1 [9] => 0 [10] => -1 ) [5] => and [6] => #0 [7] => and [8] => #1 ) [hf$L] => Array ( [0] => mergeall [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => rays [6] => #0 [7] => 1 [8] => 1 [9] => leaps [10] => #0 [11] => 0 [12] => 2 ) [HF$L] => Array ( [0] => mergeall [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => rays [6] => #0 [7] => 1 [8] => 1 [9] => leaps [10] => #0 [11] => 0 [12] => 2 ) [se$] => Array ( [0] => cond [1] => var [2] => firstpart [3] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => -1 [10] => -1 [11] => or [12] => checkaride [13] => #0 [14] => #1 [15] => 1 [16] => -1 [17] => or [18] => checkleap [19] => #0 [20] => #1 [21] => 1 [22] => 1 [23] => or [24] => checkaleap [25] => #0 [26] => #1 [27] => -2 [28] => 2 [29] => or [30] => checkaleap [31] => #0 [32] => #1 [33] => 2 [34] => 2 ) [4] => Array ( [0] => sub [1] => SE [2] => #0 [3] => #1 ) [5] => and [6] => #0 [7] => and [8] => #1 ) [SE$] => Array ( [0] => cond [1] => var [2] => firstpart [3] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkaride [7] => #0 [8] => #1 [9] => -1 [10] => 1 [11] => or [12] => checkaride [13] => #0 [14] => #1 [15] => 1 [16] => 1 [17] => or [18] => checkleap [19] => #0 [20] => #1 [21] => 1 [22] => 1 [23] => or [24] => checkaleap [25] => #0 [26] => #1 [27] => -2 [28] => -2 [29] => or [30] => checkaleap [31] => #0 [32] => #1 [33] => 2 [34] => -2 ) [4] => Array ( [0] => sub [1] => SE [2] => #0 [3] => #1 ) [5] => and [6] => #0 [7] => and [8] => #1 ) [se$L] => Array ( [0] => mergeall [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => rays [6] => #0 [7] => 1 [8] => 1 [9] => leaps [10] => #0 [11] => 2 [12] => 2 ) [SE$L] => Array ( [0] => mergeall [1] => rays [2] => #0 [3] => 0 [4] => 1 [5] => rays [6] => #0 [7] => 1 [8] => 1 [9] => leaps [10] => #0 [11] => 2 [12] => 2 ) [k] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 1 [10] => 1 ) [K] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 1 [10] => 1 ) [kL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 0 [4] => 1 [5] => leaps [6] => #0 [7] => 1 [8] => 1 ) [KL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 0 [4] => 1 [5] => leaps [6] => #0 [7] => 1 [8] => 1 ) [friends] => Array ( [0] => intersection [1] => noupper [2] => #bpieces ) [friend] => Array ( [0] => match [1] => #0 [2] => #bpieces ) )uservar
Array ( [0] => Array ( [main] => Array ( [lioncaptured] => [bpieces] => Array ( [0] => k [1] => ln [2] => fk [3] => se$ [4] => dk [5] => hf$ [6] => dh [7] => dk$ [8] => r [9] => dh$ [10] => b [11] => fo$ [12] => vm [13] => fb$ [14] => sm [15] => w$ [16] => rc [17] => wh$ [18] => l [19] => ln$ [20] => ky [21] => fk$ [22] => ph [23] => cp$ [24] => de [25] => fs$ [26] => bt [27] => b$ [28] => fl [29] => r$ [30] => g [31] => vm$ [32] => s [33] => sm$ [34] => c [35] => de$ [36] => gb [37] => p$ [38] => p ) [wpieces] => Array ( [0] => K [1] => LN [2] => FK [3] => SE$ [4] => DK [5] => HF$ [6] => DH [7] => DK$ [8] => R [9] => DH$ [10] => B [11] => FO$ [12] => VM [13] => FB$ [14] => SM [15] => W$ [16] => RC [17] => WH$ [18] => L [19] => LN$ [20] => KY [21] => FK$ [22] => PH [23] => CP$ [24] => DE [25] => FS$ [26] => BT [27] => B$ [28] => FL [29] => R$ [30] => G [31] => VM$ [32] => S [33] => SM$ [34] => C [35] => DE$ [36] => GB [37] => P$ [38] => P ) [pzs] => 4 [promote] => Array ( [p] => p$ [gb] => de$ [c] => sm$ [s] => vm$ [g] => r$ [fl] => b$ [bt] => fs$ [de] => cp$ [ph] => fk$ [ky] => ln$ [l] => wh$ [rc] => w$ [sm] => fb$ [vm] => fo$ [b] => dh$ [r] => dk$ [dh] => hf$ [dk] => se$ [fk] => fk [ln] => ln [k] => k [P] => P$ [GB] => DE$ [C] => SM$ [S] => VM$ [G] => R$ [FL] => B$ [BT] => FS$ [DE] => CP$ [PH] => FK$ [KY] => LN$ [L] => WH$ [RC] => W$ [SM] => FB$ [VM] => FO$ [B] => DH$ [R] => DK$ [DH] => HF$ [DK] => SE$ [FK] => FK [LN] => LN [K] => K ) [firstpart] => 1 [colid] => 11 [xmov] => 1 ) ) [2] => Array ( [stalemated] => Array ( [subargs] => Array ( [0] => king ) ) [main] => Array ( [kingpos] => king [from] => 11h [piece] => gb [to] => 11g ) ) )mline
Array ( [0] => MoveLine Object ( [movenum] => 0 [move] => [level] => 0 [comment] => [length] => 0 [newturn] => [turn] => 0 ) )allmoves
Array ( )movelist
constants
Array ( )