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   endlib

functions

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 ( )