This preset uses Antoine Fourriere's code for this game. Since he is no longer active as an editor, and this code is based on very paradigms, and has for some reason stopped working properly, Fergus Duniho has stored this as a new preset in order to replace Antoine's preset with new code.
Syntax Error on line 342
Function l requires more arguments than have been passed to it.
Edit the Settings File for Ultima
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 This preset uses Antoine Fourriere's old code for this game. Since he is no longer active as an editor, and this code is based on very old paradigms, and has for some reason stopped working properly, Fergus Duniho has stored this as a new preset in order to replace Antoine's old preset with new code. 1 set k e8 2 set K d1 3 include ultima 4 sub postauto1 5 if and equal origin #oldorigin equal moved #oldmoved 6 setglobal lastmoved old 7 setglobal "origin" dest 8 endif 9 if islower moved 10 die You may not move the pieces of your opponent. 11 endif 12 set suicide equal origin dest 13 if and isupper old not #suicide 14 die You may not capture your own pieces, except by suicide. 15 endif 16 if and and islower old not #suicide not equal moved K 17 die Only the King (or the Chameleon) may capture by replacement 18 endif 19 set immobilized or or fn neighbor origin i and equal moved I fn neighbor origin x and equal moved K equal old i 20 if and #immobilized not #suicide 21 die An immobilized piece may only commit suicide. 22 endif 23 if and not #immobilized #suicide 24 die Only an immobilized piece may only commit suicide. 25 endif 26 if and unequal space dest moved not #suicide 27 die You may not change the type of this piece. 28 endif 29 set legal false 30 if match moved K C X I W L P 31 set legal fn moved origin dest 32 if equal moved K 33 set K dest 34 endif 35 if match moved W X 36 set target where origin cmp file origin file dest cmp rank origin rank dest 37 if or and equal moved W islower space #target equal space #target w 38 capture #target 39 endif 40 endif 41 if match moved C X 42 set target1 join filename dest rankname #K 43 set target2 join filename #K rankname dest 44 if or and equal moved C islower space #target1 equal space #target1 c 45 capture #target1 46 endif 47 if or and equal moved C islower space #target2 equal space #target2 c 48 capture #target2 49 endif 50 endif 51 if match moved L X 52 set step origin 53 if not fn Q origin dest 54 set step where origin cmp file dest file origin cmp rank dest rank origin 55 if unequal #step dest 56 capture #step 57 set step where #step cmp file dest file origin cmp rank dest rank origin 58 endif 59 if unequal #step dest 60 capture #step 61 set step where #step cmp file dest file origin cmp rank dest rank origin 62 endif 63 if unequal #step dest 64 capture #step 65 set step where #step cmp file dest file origin cmp rank dest rank origin 66 endif 67 if unequal #step dest 68 capture #step 69 set step where #step cmp file dest file origin cmp rank dest rank origin 70 endif 71 if unequal #step dest 72 capture #step 73 set step where #step cmp file dest file origin cmp rank dest rank origin 74 endif 75 if unequal #step dest 76 capture #step 77 endif 78 endif 79 endif 80 if fn R origin dest and match moved P X 81 set target1 where dest 1 0 82 if and and islower space #target1 isupper what dest 2 0 or equal moved P equal space #target1 p 83 capture #target1 84 endif 85 set target2 where dest 0 1 86 if and and islower space #target2 isupper what dest 0 2 or equal moved P equal space #target2 p 87 capture #target2 88 endif 89 set target3 where dest -1 0 90 if and and islower space #target3 isupper what dest -2 0 or equal moved P equal space #target3 p 91 capture #target3 92 endif 93 set target4 where dest 0 -1 94 if and and islower space #target4 isupper what dest 0 -2 or equal moved P equal space #target4 p 95 capture #target4 96 endif 97 endif 98 endif 99 if and not #suicide not var legal 100 die You may not move a moved from origin to dest 101 endif 102 if sub checked #K 103 die You may not move into check. 104 endif 105 set oldorigin origin 106 set oldmoved moved 107 endsub 108 sub postauto2 109 if and equal origin #oldorigin equal moved #oldmoved 110 setglobal lastmoved old 111 setglobal "origin" dest 112 endif 113 if isupper moved 114 die You may not move the pieces of your opponent. 115 endif 116 set suicide equal origin dest 117 if and islower old not #suicide 118 die You may not capture your own pieces, except by suicide. 119 endif 120 if and and isupper old not #suicide not equal moved k 121 die Only the King (or the Chameleon) may capture by replacement 122 endif 123 set immobilized or or fn neighbor origin I and equal moved i fn neighbor origin X and equal moved k equal old I 124 if and #immobilized not #suicide 125 die An immobilized piece may only commit suicide. 126 endif 127 if and not #immobilized #suicide 128 die Only an immobilized piece may only commit suicide. 129 endif 130 if and unequal space dest moved not #suicide 131 die You may not change the type of this piece. 132 endif 133 set legal false 134 if match moved k c x i w l p 135 set legal fn moved origin dest 136 if equal moved k 137 set k dest 138 endif 139 if match moved w x 140 set target where origin cmp file origin file dest cmp rank origin rank dest 141 if or and equal moved w isupper space #target equal space #target W 142 capture #target 143 endif 144 endif 145 if match moved c x 146 set target1 join filename dest rankname #k 147 set target2 join filename #k rankname dest 148 if or and equal moved c isupper space #target1 equal space #target1 C 149 capture #target1 150 endif 151 if or and equal moved c isupper space #target2 equal space #target2 C 152 capture #target2 153 endif 154 endif 155 if match moved l x 156 set step origin 157 if not fn q origin dest 158 set step where origin cmp file dest file origin cmp rank dest rank origin 159 if unequal #step dest 160 capture #step 161 set step where #step cmp file dest file origin cmp rank dest rank origin 162 endif 163 if unequal #step dest 164 capture #step 165 set step where #step cmp file dest file origin cmp rank dest rank origin 166 endif 167 if unequal #step dest 168 capture #step 169 set step where #step cmp file dest file origin cmp rank dest rank origin 170 endif 171 if unequal #step dest 172 capture #step 173 set step where #step cmp file dest file origin cmp rank dest rank origin 174 endif 175 if unequal #step dest 176 capture #step 177 set step where #step cmp file dest file origin cmp rank dest rank origin 178 endif 179 if unequal #step dest 180 capture #step 181 endif 182 endif 183 endif 184 if fn r origin dest and match moved p x 185 set target1 where dest 1 0 186 if and and isupper space #target1 islower what dest 2 0 or equal moved p equal space #target1 P 187 capture #target1 188 endif 189 set target2 where dest 0 1 190 if and and isupper space #target2 islower what dest 0 2 or equal moved p equal space #target2 P 191 capture #target2 192 endif 193 set target3 where dest -1 0 194 if and and isupper space #target3 islower what dest -2 0 or equal moved p equal space #target3 P 195 capture #target3 196 endif 197 set target4 where dest 0 -1 198 if and and isupper space #target4 islower what dest 0 -2 or equal moved p equal space #target4 P 199 capture #target4 200 endif 201 endif 202 endif 203 if and not #suicide not var legal 204 die You may not move a moved from origin to dest 205 endif 206 if sub checked #k 207 die You may not move into check. 208 endif 209 set oldorigin origin 210 set oldmoved moved 211 endsub 212 if sub checked #K 213 if sub stalemated #K 214 say Checkmate! Black has won! 215 won 216 else 217 say Check! 218 endif 219 elseif sub stalemated #K 220 say Stalemate! Black has won! 221 drawn 222 endif 223 end 224 225 lib ultima 226 def insightvect insight #0 cmp file #1 file #0 cmp rank #1 rank #0 227 def R checkride #0 #1 1 0 228 def Q checkride #0 #1 1 1 or fn R #0 #1 229 def K checkleap #0 #1 1 1 or checkleap #0 #1 1 0 230 def I fn Q #0 #1 and cond empty #0 not capture empty #1 231 def L sub L #0 #1 and cond empty #0 not capture empty #1 232 def X or or and fn Q #0 #1 cond empty #0 not capture empty #1 and fn K #0 #1 cond empty #0 == old k == space #1 k and and fn L #0 #1 equal fn insightvect #0 #1 l equal fn insightvect #1 #0 l 233 def W fn Q #0 #1 and cond empty #0 not capture empty #1 234 def C fn Q #0 #1 and cond empty #0 not capture empty #1 235 def P fn R #0 #1 and cond empty #0 not capture empty #1 236 def r checkride #0 #1 1 0 237 def q or checkride #0 #1 1 1 fn r #0 #1 238 def k or checkleap #0 #1 1 1 checkleap #0 #1 1 0 239 def i and fn q #0 #1 cond empty #0 not capture empty #1 240 def l sub l #0 #1 and cond empty #0 not capture empty #1 241 def x or or and fn q #0 #1 cond empty #0 not capture empty #1 and fn k #0 #1 cond empty #0 == old K == space #1 K and and fn l #0 #1 equal fn insightvect #0 #1 L equal fn insightvect #1 #0 L 242 def w and fn q #0 #1 cond empty #0 not capture empty #1 243 def c and fn q #0 #1 cond empty #0 not capture empty #1 244 def p and fn r #0 #1 cond empty #0 not capture empty #1 245 set steps array 1 2 3 4 5 6 7 246 sub L from to 247 local step, cnt, i 248 if != file #from file #to and != rank #from rank #to and != abs - file #from file #to abs - rank #from rank #to 249 return false 250 endif 251 set step #from 252 set cnt 0 253 do 254 for i #steps 255 set step where #step cmp file #to file #from cmp rank #to rank #from 256 if == #step #to 257 return true 258 endif 259 if isupper space #step 260 return false 261 endif 262 if islower space #step 263 set cnt inc #cnt 264 endif 265 if empty #step 266 set cnt 0 267 endif 268 if == #cnt 2 269 return false 270 endif 271 next 272 loop never 273 endsub 274 sub l from to 275 local step, cnt, i 276 if != file #from file #to and != rank #from rank #to and != abs - file #from file #to abs - rank #from rank #to 277 return false 278 endif 279 set step #from 280 set cnt 0 281 do 282 for i #steps 283 set step where #step cmp file #to file #from cmp rank #to rank #from 284 if == #step #to 285 return true 286 endif 287 if islower space #step 288 return false 289 endif 290 if isupper space #step 291 set cnt inc #cnt 292 endif 293 if empty #step 294 set cnt 0 295 endif 296 if == #cnt 2 297 return false 298 endif 299 next 300 loop never 301 endsub 302 def PL rays #0 1 0 303 def IL merge rays #0 1 0 rays #0 1 1 304 def LL merge rays #0 1 0 rays #0 1 1 305 def XL merge rays #0 1 0 rays #0 1 1 306 def WL merge rays #0 1 0 rays #0 1 1 307 def CL merge rays #0 1 0 rays #0 1 1 308 def KL merge leaps #0 1 0 leaps #0 1 1 309 def pL rays #0 1 0 310 def iL merge rays #0 1 0 rays #0 1 1 311 def lL merge rays #0 1 0 rays #0 1 1 312 def xL merge rays #0 1 0 rays #0 1 1 313 def wL merge rays #0 1 0 rays #0 1 1 314 def cL merge rays #0 1 0 rays #0 1 1 315 def kL merge leaps #0 1 0 leaps #0 1 1 316 def neighbor match #1 what #0 1 0 what #0 1 1 what #0 0 1 what #0 -1 1 what #0 -1 0 what #0 -1 -1 what #0 0 -1 what #0 1 -1 317 sub checked king 318 local from piece incheck 319 if isupper cond empty #king moved space #king 320 def enemies onlylower 321 def enemy islower #0 322 def KINGSQUARE #k 323 def immobilizer I 324 def LONGLEAPER l 325 else 326 def enemies onlyupper 327 def enemy isupper #0 328 def KINGSQUARE #K 329 def immobilizer i 330 def LONGLEAPER L 331 endif 332 for (from piece) fn enemies 333 if fn neighbor #from fn immobilizer 334 continue 335 endif 336 if fn K #from #king and match toupper #piece K X 337 return true 338 endif 339 if == toupper #piece W and fn K #from #king and empty where #from cmp file #from file #king cmp rank #from rank #king 340 return true 341 endif 342 if == toupper #piece L and fn fn LONGLEAPER #from where #king cmp file #king file #from cmp rank #king rank #from 343 return true 344 endif 345 if == toupper #piece C 346 set thr1 null 347 set thr2 null 348 set thr3 null 349 set thr4 null 350 set thr5 null 351 set thr6 null 352 set thr7 null 353 set thr8 null 354 if == file fn KINGSQUARE file #king 355 set thr1 join a rankname #king 356 set thr2 join b rankname #king 357 set thr3 join c rankname #king 358 set thr4 join d rankname #king 359 set thr5 join e rankname #king 360 set thr6 join f rankname #king 361 set thr7 join g rankname #king 362 set thr8 join h rankname #king 363 endif 364 if == rank fn KINGSQUARE rank #king 365 set thr1 join filename #king 1 366 set thr2 join filename #king 2 367 set thr3 join filename #king 3 368 set thr4 join filename #king 4 369 set thr5 join filename #king 5 370 set thr6 join filename #king 6 371 set thr7 join filename #king 7 372 set thr8 join filename #king 8 373 endif 374 set incheck or or or or or or or fn C #from #thr1 fn C #from #thr2 fn C #from #thr3 fn C #from #thr4 fn C #from #thr5 fn C #from #thr6 fn C #from #thr7 fn C #from #thr8 375 if #incheck 376 return true 377 endif 378 endif 379 if == toupper #piece P 380 set incheck or or or and fn P #from where #king 1 0 fn enemy what #king -1 0 and fn P #from where #king 0 1 fn enemy what #king 0 -1 and fn P #from where #king -1 0 fn enemy what #king 1 0 and fn P #from where #king 0 -1 fn enemy what #king 0 1 381 if #incheck 382 return true 383 endif 384 endif 385 next 386 return false 387 endsub 388 sub stalemated kingpos 389 store 390 local from piece to 391 if isupper space #kingpos 392 def friends onlyupper 393 def nofriends noupper 394 def friend isupper #0 395 def enemy islower #0 396 def IMMOBILIZER i 397 def CHAMELEON x 398 else 399 def friends onlylower 400 def nofriends nolower 401 def friend islower #0 402 def enemy isupper #0 403 def IMMOBILIZER I 404 def CHAMELEON X 405 endif 406 store 407 if not fn neighbor #kingpos fn IMMOBILIZER 408 for to fn KL #kingpos 409 if fn space #kingpos #kingpos #to and not fn friend space #to and onboard #to 410 move #kingpos #to 411 set incheck sub checked #to 412 restore 413 verify #incheck 414 endif 415 next 416 endif 417 restore 418 for (from piece) fn friends 419 if == #from #kingpos 420 continue 421 endif 422 if fn neighbor #from fn IMMOBILIZER 423 capture #from 424 set incheck sub checked #kingpos 425 restore 426 verify #incheck 427 continue 428 endif 429 if == toupper #piece I and fn neighbor #from fn CHAMELEON 430 capture #from 431 set incheck sub checked #kingpos 432 restore 433 verify #incheck 434 continue 435 endif 436 for to fn join #piece L #from 437 if fn #piece #from #to and not fn friend space #to and onboard #to 438 move #from #to 439 if match toupper #piece W X 440 set wtarget where #from cmp file #from file #to cmp rank #from rank #to 441 if not fn friend space #wtarget 442 if == toupper #piece W or == toupper space #wtarget 443 capture #wtarget 444 endif 445 endif 446 endif 447 if match toupper #piece C X 448 set ctarget1 join filename #kingpos rankname #to 449 set ctarget2 join filename #to rankname #kingpos 450 if not fn friend space #ctarget1 and match C toupper #piece toupper space #ctarget1 451 capture #ctarget1 452 endif 453 if not fn friend space #ctarget2 and match C toupper #piece toupper space #ctarget2 454 capture #ctarget2 455 endif 456 endif 457 if match toupper #piece L X 458 set ltarget #from 459 do 460 for i #steps 461 set ltarget where #ltarget cmp file #to file #from cmp rank #to rank #from 462 if != #ltarget #to 463 capture #ltarget 464 endif 465 if == #ltarget #to 466 break 467 endif 468 next 469 loop never 470 endif 471 if fn R #from #to and match toupper #piece P X 472 set ptarget1 where #to 1 0 473 set ptarget2 where #to 0 1 474 set ptarget3 where #to -1 0 475 set ptarget4 where #to 0 -1 476 if fn enemy space #ptarget1 and fn friend what #to 2 0 and match P toupper #piece toupper space #ptarget1 477 capture #ptarget1 478 endif 479 if fn enemy space #ptarget2 and fn friend what #to 0 2 and match P toupper #piece toupper space #ptarget2 480 capture #ptarget2 481 endif 482 if fn enemy space #ptarget3 and fn friend what #to -2 0 and match P toupper #piece toupper space #ptarget3 483 capture #ptarget3 484 endif 485 if fn enemy space #ptarget4 and fn friend what #to 0 -2 and match P toupper #piece toupper space #ptarget4 486 capture #ptarget4 487 endif 488 endif 489 set incheck sub checked #kingpos 490 restore 491 verify #incheck 492 endif 493 next 494 next 495 return true 496 endsub 497 sub K from to 498 set legal fn K #from #to 499 set K #to 500 endsub 501 sub k from to 502 set legal fn k #from #to 503 set k #to 504 endsub 505 endlibfunctions
Array ( [insightvect] => Array ( [0] => insight [1] => #0 [2] => cmp [3] => file [4] => #1 [5] => file [6] => #0 [7] => cmp [8] => rank [9] => #1 [10] => rank [11] => #0 ) [R] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 0 ) [Q] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => fn [7] => R [8] => #0 [9] => #1 ) [K] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 1 [10] => 0 ) [I] => Array ( [0] => fn [1] => Q [2] => #0 [3] => #1 [4] => and [5] => cond [6] => empty [7] => #0 [8] => not [9] => capture [10] => empty [11] => #1 ) [L] => Array ( [0] => sub [1] => L [2] => #0 [3] => #1 [4] => and [5] => cond [6] => empty [7] => #0 [8] => not [9] => capture [10] => empty [11] => #1 ) [X] => Array ( [0] => or [1] => or [2] => and [3] => fn [4] => Q [5] => #0 [6] => #1 [7] => cond [8] => empty [9] => #0 [10] => not [11] => capture [12] => empty [13] => #1 [14] => and [15] => fn [16] => K [17] => #0 [18] => #1 [19] => cond [20] => empty [21] => #0 [22] => == [23] => old [24] => k [25] => == [26] => space [27] => #1 [28] => k [29] => and [30] => and [31] => fn [32] => L [33] => #0 [34] => #1 [35] => equal [36] => fn [37] => insightvect [38] => #0 [39] => #1 [40] => l [41] => equal [42] => fn [43] => insightvect [44] => #1 [45] => #0 [46] => l ) [W] => Array ( [0] => fn [1] => Q [2] => #0 [3] => #1 [4] => and [5] => cond [6] => empty [7] => #0 [8] => not [9] => capture [10] => empty [11] => #1 ) [C] => Array ( [0] => fn [1] => Q [2] => #0 [3] => #1 [4] => and [5] => cond [6] => empty [7] => #0 [8] => not [9] => capture [10] => empty [11] => #1 ) [P] => Array ( [0] => fn [1] => R [2] => #0 [3] => #1 [4] => and [5] => cond [6] => empty [7] => #0 [8] => not [9] => capture [10] => empty [11] => #1 ) [r] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 0 ) [q] => Array ( [0] => or [1] => checkride [2] => #0 [3] => #1 [4] => 1 [5] => 1 [6] => fn [7] => r [8] => #0 [9] => #1 ) [k] => Array ( [0] => or [1] => checkleap [2] => #0 [3] => #1 [4] => 1 [5] => 1 [6] => checkleap [7] => #0 [8] => #1 [9] => 1 [10] => 0 ) [i] => Array ( [0] => and [1] => fn [2] => q [3] => #0 [4] => #1 [5] => cond [6] => empty [7] => #0 [8] => not [9] => capture [10] => empty [11] => #1 ) [l] => Array ( [0] => sub [1] => l [2] => #0 [3] => #1 [4] => and [5] => cond [6] => empty [7] => #0 [8] => not [9] => capture [10] => empty [11] => #1 ) [x] => Array ( [0] => or [1] => or [2] => and [3] => fn [4] => q [5] => #0 [6] => #1 [7] => cond [8] => empty [9] => #0 [10] => not [11] => capture [12] => empty [13] => #1 [14] => and [15] => fn [16] => k [17] => #0 [18] => #1 [19] => cond [20] => empty [21] => #0 [22] => == [23] => old [24] => K [25] => == [26] => space [27] => #1 [28] => K [29] => and [30] => and [31] => fn [32] => l [33] => #0 [34] => #1 [35] => equal [36] => fn [37] => insightvect [38] => #0 [39] => #1 [40] => L [41] => equal [42] => fn [43] => insightvect [44] => #1 [45] => #0 [46] => L ) [w] => Array ( [0] => and [1] => fn [2] => q [3] => #0 [4] => #1 [5] => cond [6] => empty [7] => #0 [8] => not [9] => capture [10] => empty [11] => #1 ) [c] => Array ( [0] => and [1] => fn [2] => q [3] => #0 [4] => #1 [5] => cond [6] => empty [7] => #0 [8] => not [9] => capture [10] => empty [11] => #1 ) [p] => Array ( [0] => and [1] => fn [2] => r [3] => #0 [4] => #1 [5] => cond [6] => empty [7] => #0 [8] => not [9] => capture [10] => empty [11] => #1 ) [PL] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 0 ) [IL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 0 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [LL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 0 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [XL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 0 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [WL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 0 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [CL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 0 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [KL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 0 [5] => leaps [6] => #0 [7] => 1 [8] => 1 ) [pL] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 0 ) [iL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 0 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [lL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 0 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [xL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 0 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [wL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 0 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [cL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 0 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [kL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 0 [5] => leaps [6] => #0 [7] => 1 [8] => 1 ) [neighbor] => Array ( [0] => match [1] => #1 [2] => what [3] => #0 [4] => 1 [5] => 0 [6] => what [7] => #0 [8] => 1 [9] => 1 [10] => what [11] => #0 [12] => 0 [13] => 1 [14] => what [15] => #0 [16] => -1 [17] => 1 [18] => what [19] => #0 [20] => -1 [21] => 0 [22] => what [23] => #0 [24] => -1 [25] => -1 [26] => what [27] => #0 [28] => 0 [29] => -1 [30] => what [31] => #0 [32] => 1 [33] => -1 ) [enemies] => Array ( [0] => onlylower ) [enemy] => Array ( [0] => islower [1] => #0 ) [KINGSQUARE] => Array ( [0] => #k ) [immobilizer] => Array ( [0] => I ) [LONGLEAPER] => Array ( [0] => l ) )uservar
Array ( [0] => Array ( [main] => Array ( [k] => e8 [K] => d1 [steps] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 ) ) ) [2] => Array ( [checked] => Array ( [subargs] => Array ( [0] => d1 ) ) [main] => Array ( [king] => d1 [from] => a8 [piece] => c [incheck] => 0 ) ) )mline
Array ( [0] => MoveLine Object ( [movenum] => 0 [move] => [level] => 0 [comment] => [length] => 0 [newturn] => [turn] => 0 ) )allmoves
Array ( )movelist
constants
Array ( )