Syntax Error on line 18
Unknown error concerning the definition of subroutine preauto1.
Edit the Settings File for Chess of War
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 setflag a1 a8 h1 h8 e1 e8 1 set k findpiece k spaces 2 set K findpiece K spaces 3 set ep false 4 include chess3 5 def WZ checkleap #0 #1 1 3 or checkleap #0 #1 1 1 6 def CH checkleap #0 #1 1 0 or checkleap #0 #1 2 2 or checkleap #0 #1 2 0 7 def !PKS checkleap #1 1 0 or checkleap #0 #1 1 1 or checkleap #1 1 2 or checkleap #1 3 0 def R checkride #0 #1 1 0 8 def .RD fn R #0 #1 or checkkleap #0 #1 2 0 def Q fn BISHOP #0 #1 or fn R #0 #1 9 def wz checkleap #0 #1 1 3 or checkleap #0 #1 1 1 10 def ch checkleap #0 #1 1 0 or checkleap #0 #1 2 2 or checkleap #0 #1 2 0 11 def chL merge leaps #0 #1 1 0 leaps #0 2 2 leaps #0 2 0 12 def CHL merge leaps #0 #1 1 0 leaps #0 2 2 leaps #0 2 0 13 def !pks checkleap #0 #1 1 0 or checkleap #0 #1 1 1 or checkleap #1 1 2 or checkleap #1 3 0 def r checkride #0 #1 1 0 14 def .rd fn R #0 #1 or checkleap #0 #1 2 0 def BISHOP checkride #0 #1 1 1 15 def q fn BISHOP #0 #1 or fn R #0 #1 16 def P remove var ep and < rankname #1 var bpr and < rankname var ep rankname #1 and == filename var ep filename #1 or and checkride #0 #1 0 1 == rankname #0 var wpr or checkleap #0 #1 0 1 and empty #1 or and islower space #1 checkleap #0 #1 1 1 and <= distance #0 #1 var fps and > rank #1 rank #0 17 def p remove var ep and > rankname #1 var wpr and > rankname var ep rankname #1 and == filename var ep filename #1 and checkleap #0 #1 1 1 or and checkride #0 #1 0 1 == rankname #0 var bpr or checkleap #0 #1 0 1 and empty #1 or and isupper space #1 checkleap #0 #1 1 1 and <= distance #0 #1 var fps and < rank #1 rank #0 18 sub preauto1 19 set legal false 20 if not isalnum origin 21 if capture 22 die You may not drop a piece on an occupied space. 23 elseif and equal moved P equal rankname dest 8 24 die You may not drop a Pawn on your last rank. 25 elseif unequal space dest moved 26 die You may not promote a Pawn while dropping it. 27 elseif not isalnum dest 28 die You may not drop a piece off the board. 29 endif 30 endsub 31 sub preauto2 32 set legal false 33 if not isalnum origin 34 if capture 35 die You may not drop a piece on an occupied space. 36 elseif and equal moved P equal rankname dest 8 37 die You may not drop a Pawn on your last rank. 38 elseif unequal space dest moved 39 die You may not promote a Pawn while dropping it. 40 elseif not isalnum dest 41 die You may not drop a piece off the board. 42 endif 43 endsub 44 sub postauto1 45 if isupper old 46 die You may not capture your own pieces. 47 endif 48 if not equal moved P 49 set ep false 50 if unequal space dest moved 51 die You may not change the type of this piece. 52 endif 53 endif 54 set legal true 55 elseif match moved P K 56 gosub moved origin dest 57 if equal moved K 58 set K dest 59 endif 60 elseif match moved Q R B N 61 set legal fn moved origin dest 62 if equal moved R 63 unsetflag origin 64 endif 65 endif 66 if not var legal 67 die You may not move a moved from origin to dest 68 endif 69 if fn ATTACKEDBYB #K 70 die You may not move into check. 71 endif 72 if != old nil 73 set temp dest 74 drop old last !A6 !A5 !A4 !A3 !A2 !A1 !B6 !B5 !B4 !B3 !B2 !B1 !C6 !C5 !C4 !C3 !C2 !C1 !D6 !D5 !D4 !D3 !D2 !D1 75 flip dest 76 setglobal "dest" #temp 77 endif 78 endsub 79 sub postauto2 80 if islower old 81 die You may not capture your own pieces. 82 endif 83 if not equal moved p 84 set ep false 85 if unequal space dest moved 86 die You may not change the type of this piece. 87 endif 88 endif 89 set legal false 90 if not isalnum origin 91 if capture 92 die You may not drop a piece on an occupied space. 93 elseif and equal moved p equal rankname dest 1 94 die You may not drop a Pawn on your last rank. 95 elseif unequal space dest moved 96 die You may not promote a Pawn while dropping it. 97 elseif not isalnum dest 98 die You may not drop a piece off the board. 99 endif 100 set legal true 101 elseif match moved p k 102 gosub moved origin dest 103 if equal moved k 104 set k dest 105 endif 106 elseif match moved q r b n 107 set legal fn toupper moved origin dest 108 if equal moved r 109 unsetflag origin 110 endif 111 endif 112 if not var legal 113 die You may not move a moved from origin to dest 114 endif 115 if fn ATTACKEDBYW #k 116 die You may not move into check. 117 endif 118 if != old nil 119 set temp dest 120 drop old first !A6 !A5 !A4 !A3 !A2 !A1 !B6 !B5 !B4 !B3 !B2 !B1 !C6 !C5 !C4 !C3 !C2 !C1 !D6 !D5 !D4 !D3 !D2 !D1 121 flip dest 122 setglobal "dest" #temp 123 endif 124 endsub 125 set checks sub checks #K 126 if var checks 127 if sub checkmated #K #checks 128 say Checkmate! Black has won! 129 won 130 else 131 say Check! 132 endif 133 elseif sub stalemated #K 134 say Stalemate! The game is drawn. 135 drawn 136 endif 137 store 138 for (from piece) fn friends 139 for to fn join #piece L #from 140 if fn #piece #from #to and not fn friend space #to and onboard #to 141 move #from #to 142 if not sub checked cond == #from #kingpos #to #kingpos 143 setlegal #from #to 144 endif 145 endif 146 restore 147 next 148 next 149 end 150 151 lib chess3 152 set wpr 2 153 set bpr 7 154 set fps 2 155 set pzs 1 156 set wcastle c1 g1 157 set bcastle c8 g8 158 set wprom Q R B N 159 set bprom q r b n 160 setsystem maxmove 2 161 ban commands allmoves 162 allow moves 1 captures 1 promotions 2 163 def N checkleap #0 #1 1 2 164 def B checkride #0 #1 1 1 165 def R checkride #0 #1 1 0 166 def Q fn B #0 #1 or fn R #0 #1 167 def K checkleap #0 #1 1 1 or checkleap #0 #1 1 0 168 def M fn N #0 #1 or fn R #0 #1 169 def A fn N #0 #1 or fn B #0 #1 170 def n checkleap #0 #1 1 2 171 def b checkride #0 #1 1 1 172 def r checkride #0 #1 1 0 173 def q fn B #0 #1 or fn R #0 #1 174 def k checkleap #0 #1 1 1 or checkleap #0 #1 1 0 175 def m fn N #0 #1 or fn R #0 #1 176 def a fn N #0 #1 or fn B #0 #1 177 def C cond cond empty #0 capture (not empty #1) (checkhop #0 #1 0 1) (checkride #0 #1 0 1) and #1 178 def V cond cond empty #0 capture (not empty #1) (checkhop #0 #1 1 1) (checkride #0 #1 1 1) and #1 179 def c cond cond empty #0 capture (not empty #1) (checkhop #0 #1 0 1) (checkride #0 #1 0 1) and #1 180 def v cond cond empty #0 capture (not empty #1) (checkhop #0 #1 1 1) (checkride #0 #1 1 1) and #1 181 def P remove var ep and < rankname #1 var bpr and < rankname var ep rankname #1 and == filename var ep filename #1 and checkleap #0 #1 1 1 or and checkride #0 #1 0 1 == rankname #0 var wpr or checkleap #0 #1 0 1 and empty #1 or and islower space #1 checkleap #0 #1 1 1 and <= distance #0 #1 var fps and > rank #1 rank #0 182 def p remove var ep and > rankname #1 var wpr and > rankname var ep rankname #1 and == filename var ep filename #1 and checkleap #0 #1 1 1 or and checkride #0 #1 0 1 == rankname #0 var bpr or checkleap #0 #1 0 1 and empty #1 or and isupper space #1 checkleap #0 #1 1 1 and <= distance #0 #1 var fps and < rank #1 rank #0 183 def PL array where #0 0 2 where #0 0 1 where #0 -1 1 where #0 1 1 184 def pL array where #0 0 -2 where #0 0 -1 where #0 -1 -1 where #0 1 -1 185 def NL leaps #0 1 2 186 def BL rays #0 1 1 187 def RL rays #0 1 0 188 def VL rays #0 1 1 189 def CL rays #0 1 0 190 def QL merge rays #0 1 0 rays #0 1 1 191 def KL merge leaps #0 1 0 leaps #0 1 1 192 def AL merge leaps #0 1 2 rays #0 1 1 193 def ML merge rays #0 1 0 leaps #0 1 2 194 def nL leaps #0 1 2 195 def bL rays #0 1 1 196 def rL rays #0 1 0 197 def vL rays #0 1 1 198 def cL rays #0 1 0 199 def qL merge rays #0 1 0 rays #0 1 1 200 def kL merge leaps #0 1 0 leaps #0 1 1 201 def aL merge leaps #0 1 2 rays #0 1 1 202 def mL merge rays #0 1 0 leaps #0 1 2 203 def @ false 204 sub checked king 205 my from piece 206 if isupper cond empty #king moved space #king 207 def enemies onlylower 208 else 209 def enemies onlyupper 210 endif 211 for (from piece) fn enemies 212 if fn #piece #from #king 213 return #from 214 endif 215 next 216 return false 217 endsub 218 sub P from to 219 verify > rank #to rank #from 220 verify <= distance #to #from #fps 221 if capture 222 verify checkleap #from #to 1 1 223 set ep false 224 elseif checkleap #from #to 1 1 and #ep 225 verify == filename var ep filename #to 226 verify < rankname var ep rankname #to 227 verify < rankname #to var bpr 228 capture #ep 229 set ep false 230 elseif > distance #to #from 1 231 verify == rankname #from #wpr 232 verify checkride #from #to 0 1 233 set ep #to 234 else 235 verify checkleap #from #to 0 1 236 set ep false 237 endif 238 if onboard where #to 0 #pzs 239 if != space #to moved 240 die "You may not promote a Pawn until it reaches the promotion zone." 241 endif 242 elseif == P space #to 243 askpromote #wprom 244 elseif not match space #to var wprom 245 set np space #to 246 die "You may not promote your Pawn to a" #np 247 endif 248 set nopvc 0 249 return true 250 endsub 251 sub p from to 252 verify < rank #to rank #from 253 verify <= distance #to #from #fps 254 if capture 255 verify checkleap #from #to 1 1 256 set ep false 257 elseif checkleap #from #to 1 1 and #ep 258 verify == filename var ep filename #to 259 verify > rankname var ep rankname #to 260 verify > rankname #to var wpr 261 capture #ep 262 set ep false 263 elseif > distance #to #from 1 264 verify == rankname #from #bpr 265 verify checkride #from #to 0 1 266 set ep #to 267 else 268 verify checkleap #from #to 0 1 269 set ep false 270 endif 271 if != space #to moved and onboard where #to 0 neg #pzs 272 die You may not promote a Pawn until it reaches the promotion zone. 273 endif 274 if not onboard where #to 0 neg #pzs 275 if == p space #to 276 askpromote #bprom 277 elseif not match space #to var bprom 278 set np space #to 279 die You may not promote your Pawn to a #np 280 endif 281 endif 282 set nopvc 0 283 return true 284 endsub 285 sub K from to 286 if not fn K #from #to 287 verify sub castle #from #to and match #to var wcastle 288 endif 289 set K #to 290 return true 291 endsub 292 sub k from to 293 if not fn k #from #to 294 verify sub castle #from #to and match #to var bcastle 295 endif 296 set k #to 297 return true 298 endsub 299 sub castle from to 300 local c RPOS RDEST xdir 301 if not flag #from 302 die A King may not castle after it moves. 303 endif 304 if capture 305 die A King may not castle to an occupied space. 306 endif 307 set xdir sign minus file #to file #from 308 if not checkaride #from #to #xdir 0 309 die A King may not castle across any occupied space. 310 endif 311 set c #to 312 do 313 set c where #c #xdir 0 314 if flag #c 315 break 316 elseif not onboard #c 317 die No piece was found to castle with. 318 elseif not empty #c 319 die The King cannot castle with the piece at #c 320 endif 321 loop 322 set RPOS #c 323 move #to #from 324 if sub checked #from 325 die A King may not castle out of check. 326 endif 327 store 328 for c path #from #to 329 move #from #c 330 if sub checked #c 331 die A King may not castle through check. 332 endif 333 restore 334 next 335 move #from #to 336 set RDEST where #to neg #xdir 0 337 move #RPOS #RDEST 338 return true 339 endsub 340 sub castlepos from to 341 local c RPOS RDEST xdir safe 342 verify flag #from 343 verify empty #to 344 set xdir sign minus file #to file #from 345 verify checkaride #from #to #xdir 0 346 verify not sub checked #from 347 set c #to 348 do 349 set c where #c #xdir 0 350 if flag #c 351 break 352 endif 353 verify onboard #c 354 verify empty #c 355 loop 356 verify flag #c 357 set RPOS #c 358 store 359 for c path #from #to 360 move #from #c 361 set safe not sub checked #c 362 restore 363 verify #safe 364 next 365 move #from #to 366 set RDEST where #to neg #xdir 0 367 move #RPOS #RDEST 368 set safe not sub checked #to 369 restore 370 return #safe 371 endsub 372 sub stalemated kingpos 373 store 374 local from piece to 375 if isupper space #kingpos 376 def friends onlyupper 377 def friend isupper #0 378 set cspaces var wcastle 379 else 380 def friends onlylower 381 def friend islower #0 382 set cspaces var bcastle 383 endif 384 set royal space var kingpos 385 store 386 for (from piece) fn friends 387 for to fn join #piece L #from 388 if fn #piece #from #to and not fn friend space #to and onboard #to 389 move #from #to 390 if not sub checked cond == #from #kingpos #to #kingpos 391 setlegal #from #to 392 endif 393 endif 394 restore 395 next 396 next 397 for to var cspaces 398 if sub castlepos #kingpos #to 399 setlegal #kingpos #to 400 endif 401 next 402 return cond count system legalmoves false true 403 endsub 404 sub enpassant piece from to 405 local pe 406 verify not capture and #ep 407 verify == P toupper #piece 408 set pe join filename #to rankname #from 409 verify == #ep #pe 410 capture #ep 411 endsub 412 endlibfunctions
Array ( [N] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 1 [4] => 2 ) [B] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 ) [R] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 0 ) [Q] => Array ( [0] => fn [1] => B [2] => #0 [3] => #1 [4] => or [5] => fn [6] => R [7] => #0 [8] => #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 ) [M] => Array ( [0] => fn [1] => N [2] => #0 [3] => #1 [4] => or [5] => fn [6] => R [7] => #0 [8] => #1 ) [A] => Array ( [0] => fn [1] => N [2] => #0 [3] => #1 [4] => or [5] => fn [6] => B [7] => #0 [8] => #1 ) [n] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 1 [4] => 2 ) [b] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 ) [r] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 0 ) [q] => Array ( [0] => fn [1] => BISHOP [2] => #0 [3] => #1 [4] => or [5] => fn [6] => R [7] => #0 [8] => #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 ) [m] => Array ( [0] => fn [1] => N [2] => #0 [3] => #1 [4] => or [5] => fn [6] => R [7] => #0 [8] => #1 ) [a] => Array ( [0] => fn [1] => N [2] => #0 [3] => #1 [4] => or [5] => fn [6] => B [7] => #0 [8] => #1 ) [C] => Array ( [0] => cond [1] => cond [2] => empty [3] => #0 [4] => capture [5] => Array ( [0] => not [1] => empty [2] => #1 ) [6] => Array ( [0] => checkhop [1] => #0 [2] => #1 [3] => 0 [4] => 1 ) [7] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 0 [4] => 1 ) [8] => and [9] => #1 ) [V] => Array ( [0] => cond [1] => cond [2] => empty [3] => #0 [4] => capture [5] => Array ( [0] => not [1] => empty [2] => #1 ) [6] => Array ( [0] => checkhop [1] => #0 [2] => #1 [3] => 1 [4] => 1 ) [7] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 ) [8] => and [9] => #1 ) [c] => Array ( [0] => cond [1] => cond [2] => empty [3] => #0 [4] => capture [5] => Array ( [0] => not [1] => empty [2] => #1 ) [6] => Array ( [0] => checkhop [1] => #0 [2] => #1 [3] => 0 [4] => 1 ) [7] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 0 [4] => 1 ) [8] => and [9] => #1 ) [v] => Array ( [0] => cond [1] => cond [2] => empty [3] => #0 [4] => capture [5] => Array ( [0] => not [1] => empty [2] => #1 ) [6] => Array ( [0] => checkhop [1] => #0 [2] => #1 [3] => 1 [4] => 1 ) [7] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 ) [8] => and [9] => #1 ) [P] => Array ( [0] => remove [1] => var [2] => ep [3] => and [4] => < [5] => rankname [6] => #1 [7] => var [8] => bpr [9] => and [10] => < [11] => rankname [12] => var [13] => ep [14] => rankname [15] => #1 [16] => and [17] => == [18] => filename [19] => var [20] => ep [21] => filename [22] => #1 [23] => or [24] => and [25] => checkride [26] => #0 [27] => #1 [28] => 0 [29] => 1 [30] => == [31] => rankname [32] => #0 [33] => var [34] => wpr [35] => or [36] => checkleap [37] => #0 [38] => #1 [39] => 0 [40] => 1 [41] => and [42] => empty [43] => #1 [44] => or [45] => and [46] => islower [47] => space [48] => #1 [49] => checkleap [50] => #0 [51] => #1 [52] => 1 [53] => 1 [54] => and [55] => <= [56] => distance [57] => #0 [58] => #1 [59] => var [60] => fps [61] => and [62] => > [63] => rank [64] => #1 [65] => rank [66] => #0 ) [p] => Array ( [0] => remove [1] => var [2] => ep [3] => and [4] => > [5] => rankname [6] => #1 [7] => var [8] => wpr [9] => and [10] => > [11] => rankname [12] => var [13] => ep [14] => rankname [15] => #1 [16] => and [17] => == [18] => filename [19] => var [20] => ep [21] => filename [22] => #1 [23] => and [24] => checkleap [25] => #0 [26] => #1 [27] => 1 [28] => 1 [29] => or [30] => and [31] => checkride [32] => #0 [33] => #1 [34] => 0 [35] => 1 [36] => == [37] => rankname [38] => #0 [39] => var [40] => bpr [41] => or [42] => checkleap [43] => #0 [44] => #1 [45] => 0 [46] => 1 [47] => and [48] => empty [49] => #1 [50] => or [51] => and [52] => isupper [53] => space [54] => #1 [55] => checkleap [56] => #0 [57] => #1 [58] => 1 [59] => 1 [60] => and [61] => <= [62] => distance [63] => #0 [64] => #1 [65] => var [66] => fps [67] => and [68] => < [69] => rank [70] => #1 [71] => rank [72] => #0 ) [PL] => Array ( [0] => array [1] => where [2] => #0 [3] => 0 [4] => 2 [5] => where [6] => #0 [7] => 0 [8] => 1 [9] => where [10] => #0 [11] => -1 [12] => 1 [13] => where [14] => #0 [15] => 1 [16] => 1 ) [pL] => Array ( [0] => array [1] => where [2] => #0 [3] => 0 [4] => -2 [5] => where [6] => #0 [7] => 0 [8] => -1 [9] => where [10] => #0 [11] => -1 [12] => -1 [13] => where [14] => #0 [15] => 1 [16] => -1 ) [NL] => Array ( [0] => leaps [1] => #0 [2] => 1 [3] => 2 ) [BL] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 1 ) [RL] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 0 ) [VL] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 1 ) [CL] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 0 ) [QL] => 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 ) [AL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 2 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [ML] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 0 [5] => leaps [6] => #0 [7] => 1 [8] => 2 ) [nL] => Array ( [0] => leaps [1] => #0 [2] => 1 [3] => 2 ) [bL] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 1 ) [rL] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 0 ) [vL] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 1 ) [cL] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 0 ) [qL] => 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 ) [aL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => 1 [4] => 2 [5] => rays [6] => #0 [7] => 1 [8] => 1 ) [mL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 0 [5] => leaps [6] => #0 [7] => 1 [8] => 2 ) [@] => Array ( [0] => false ) [WZ] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 1 [4] => 3 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 1 [10] => 1 ) [CH] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 1 [4] => 0 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 2 [10] => 2 [11] => or [12] => checkleap [13] => #0 [14] => #1 [15] => 2 [16] => 0 ) [!PKS] => Array ( [0] => checkleap [1] => #1 [2] => 1 [3] => 0 [4] => or [5] => checkleap [6] => #0 [7] => #1 [8] => 1 [9] => 1 [10] => or [11] => checkleap [12] => #1 [13] => 1 [14] => 2 [15] => or [16] => checkleap [17] => #1 [18] => 3 [19] => 0 [20] => def [21] => R [22] => checkride [23] => #0 [24] => #1 [25] => 1 [26] => 0 ) [.RD] => Array ( [0] => fn [1] => R [2] => #0 [3] => #1 [4] => or [5] => checkkleap [6] => #0 [7] => #1 [8] => 2 [9] => 0 [10] => def [11] => Q [12] => fn [13] => BISHOP [14] => #0 [15] => #1 [16] => or [17] => fn [18] => R [19] => #0 [20] => #1 ) [wz] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 1 [4] => 3 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 1 [10] => 1 ) [ch] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 1 [4] => 0 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 2 [10] => 2 [11] => or [12] => checkleap [13] => #0 [14] => #1 [15] => 2 [16] => 0 ) [chL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => #1 [4] => 1 [5] => 0 [6] => leaps [7] => #0 [8] => 2 [9] => 2 [10] => leaps [11] => #0 [12] => 2 [13] => 0 ) [CHL] => Array ( [0] => merge [1] => leaps [2] => #0 [3] => #1 [4] => 1 [5] => 0 [6] => leaps [7] => #0 [8] => 2 [9] => 2 [10] => leaps [11] => #0 [12] => 2 [13] => 0 ) [!pks] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 1 [4] => 0 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 1 [10] => 1 [11] => or [12] => checkleap [13] => #1 [14] => 1 [15] => 2 [16] => or [17] => checkleap [18] => #1 [19] => 3 [20] => 0 [21] => def [22] => r [23] => checkride [24] => #0 [25] => #1 [26] => 1 [27] => 0 ) [.rd] => Array ( [0] => fn [1] => R [2] => #0 [3] => #1 [4] => or [5] => checkleap [6] => #0 [7] => #1 [8] => 2 [9] => 0 [10] => def [11] => BISHOP [12] => checkride [13] => #0 [14] => #1 [15] => 1 [16] => 1 ) )uservar
Array ( [0] => Array ( [main] => Array ( [k] => a6 [K] => f1 [ep] => [wpr] => 2 [bpr] => 7 [fps] => 2 [pzs] => 1 [wcastle] => Array ( [0] => g1 [1] => c1 ) [bcastle] => Array ( [0] => g8 [1] => c8 ) [wprom] => Array ( [0] => N [1] => B [2] => R [3] => Q ) [bprom] => Array ( [0] => n [1] => b [2] => r [3] => q ) ) ) )mline
Array ( [0] => MoveLine Object ( [movenum] => 0 [move] => [level] => 0 [comment] => [length] => 0 [newturn] => [turn] => 0 ) )allmoves
Array ( )movelist
constants
Array ( )