Please report any bugs or errors to Fergus Duniho

Syntax Error on line 194

The function 'l' has not been defined. Its arguments are g12 h2

Edit the Settings File for Multi-Omega Chess

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 if == thismove null
   1   say This preset enforces the rules and displays legal moves.
   2 endif
   3 echo Please report any bugs or errors to Fergus Duniho
   4 setflag b2 b13 m2 m13 h2 h13
   5 set k findpiece k spaces
   6 set K findpiece K spaces
   7 set ep false
   8 include chess3
   9 set wpr 4
  10 set bpr 11
  11 set fps 3
  12 set pzs 2
  13 set wcastle d1 l1
  14 set bcastle d13 l13
  15 set wprom Q LAD LAE APQ G Z GU L R B N
  16 set bprom q lad lae apq g z gu l r b n
  17 set steps array 1 2 3 4 5 6 7
  18 setsystem maxmove 2
  19 ban commands allmoves
  20 allow moves 1 captures 1 promotions 2
  21 def ZL leaps #0 2 3
  22 def gu fn k #0 #1
  23 def lad checktwostep #0 #1 0 1 0 1
  24 def z checkleap #0 #1 2 3
  25 def G checkaleap #0 #1 1 1 or checkaleap #0 #1 1 -1 or checkleap #0 #1 0 1
  26 def g fn G #0 #1
  27 def lae checktwostep #0 #1 1 1 1 1
  28 def apq fn B #0 #1 or checkride #0 #1 1 2
  29 sub postauto1
  30   if isupper old
  31     die You may not capture your own pieces.
  32   elseif islower moved
  33     die You may not move one of your opponent's pieces.
  34   endif
  35   if != moved P
  36     set ep false
  37     if != space dest moved
  38       die You may not change the type of this piece.
  39     elseif capture
  40       set nopvc 0
  41     else
  42       inc nopvc
  43     endif
  44   endif
  45   if sub moved origin dest and match moved P K
  46   elseif fn moved origin dest and match moved Q LAD LAE APQ G Z GU L R B N
  47   else
  48     die You may not move a moved from origin to dest
  49   endif
  50   sub K from to
  51     if not fn K #from #to
  52       verify match #to var wcastle
  53       gosub castle #from #to
  54     endif
  55     set K #to
  56     return true
  57   endsub
  58   if sub checked #K
  59     die You may not move into check.
  60   endif
  61   unsetflag origin dest
  62   set posvar join "w" join fencode boardflags
  63   inc #posvar
  64 endsub
  65 sub postauto2
  66   if islower old
  67     die You may not capture your own pieces.
  68   elseif isupper moved
  69     die You may not move one of your opponent's pieces.
  70   endif
  71   if != moved p
  72     set ep false
  73     if != space dest moved
  74       die You may not change the type of this piece.
  75     elseif capture
  76       set nopvc 0
  77     else
  78       inc nopvc
  79     endif
  80   endif
  81   if sub moved origin dest and match moved p k
  82   elseif fn moved origin dest and match moved q lad lae apq g z gu l r b n
  83   else
  84     die You may not move a moved from origin to dest
  85   endif
  86   sub k from to
  87     if not fn k #from #to
  88       verify match #to var bcastle
  89       gosub castle #from #to
  90     endif
  91     set k #to
  92     return true
  93   endsub
  94   if sub checked #k
  95     die You may not move into check.
  96   endif
  97   unsetflag origin dest
  98   set posvar join "b" join fencode boardflags
  99   inc #posvar
 100 endsub
 101 set posvar join "b" join fencode boardflags
 102 if >= var #posvar 3
 103   say Three Times Repetition! Drawn Game!
 104   drawn
 105 elseif sub stalemated #K
 106   if sub checked #K
 107     say Checkmate! Black has won!
 108     won
 109   else
 110     say Stalemate! The game is drawn.
 111     drawn
 112   endif
 113 elseif >= #nopvc 100
 114   say Fifty Moves Without Moving a Pawn or Capturing! Game Drawn!
 115   drawn
 116 elseif sub checked #K
 117   say Check!
 118 endif
 119 store
 120 for (from piece) fn friends
 121   for to fn join #piece L #from
 122     if fn #piece #from #to and not fn friend space #to and onboard #to
 123       move #from #to
 124       if not sub checked cond == #from #kingpos #to #kingpos
 125         setlegal #from #to
 126       endif
 127     endif
 128     restore
 129   next
 130 next
 131 end
 132 
 133 lib chess3
 134 set wpr 2
 135 set bpr 7
 136 set fps 2
 137 set pzs 1
 138 set wcastle c1 g1
 139 set bcastle c8 g8
 140 set wprom Q R B N
 141 set bprom q r b n
 142 setsystem maxmove 2
 143 ban commands allmoves
 144 allow moves 1 captures 1 promotions 2
 145 def N checkleap #0 #1 1 2
 146 def B checkride #0 #1 1 1
 147 def R checkride #0 #1 1 0
 148 def Q fn B #0 #1 or fn R #0 #1
 149 def K checkleap #0 #1 1 1 or checkleap #0 #1 1 0
 150 def M fn N #0 #1 or fn R #0 #1
 151 def A fn N #0 #1 or fn B #0 #1
 152 def n checkleap #0 #1 1 2
 153 def b checkride #0 #1 1 1
 154 def r checkride #0 #1 1 0
 155 def q fn B #0 #1 or fn R #0 #1
 156 def k checkleap #0 #1 1 1 or checkleap #0 #1 1 0
 157 def m fn N #0 #1 or fn R #0 #1
 158 def a fn N #0 #1 or fn B #0 #1
 159 def C cond cond empty #0 capture (not empty #1) (checkhop #0 #1 0 1) (checkride #0 #1 0 1) and #1
 160 def V cond cond empty #0 capture (not empty #1) (checkhop #0 #1 1 1) (checkride #0 #1 1 1) and #1
 161 def c cond cond empty #0 capture (not empty #1) (checkhop #0 #1 0 1) (checkride #0 #1 0 1) and #1
 162 def v cond cond empty #0 capture (not empty #1) (checkhop #0 #1 1 1) (checkride #0 #1 1 1) and #1
 163 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
 164 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
 165 def PL array where #0 0 2 where #0 0 1 where #0 -1 1 where #0 1 1
 166 def pL array where #0 0 -2 where #0 0 -1 where #0 -1 -1 where #0 1 -1
 167 def NL leaps #0 1 2
 168 def BL rays #0 1 1
 169 def RL rays #0 1 0
 170 def VL rays #0 1 1
 171 def CL rays #0 1 0
 172 def QL merge rays #0 1 0 rays #0 1 1
 173 def KL merge leaps #0 1 0 leaps #0 1 1
 174 def AL merge leaps #0 1 2 rays #0 1 1
 175 def ML merge rays #0 1 0 leaps #0 1 2
 176 def nL leaps #0 1 2
 177 def bL rays #0 1 1
 178 def rL rays #0 1 0
 179 def vL rays #0 1 1
 180 def cL rays #0 1 0
 181 def qL merge rays #0 1 0 rays #0 1 1
 182 def kL merge leaps #0 1 0 leaps #0 1 1
 183 def aL merge leaps #0 1 2 rays #0 1 1
 184 def mL merge rays #0 1 0 leaps #0 1 2
 185 def @ false
 186 sub checked king
 187   my from piece
 188   if isupper cond empty #king moved space #king
 189     def enemies onlylower
 190   else
 191     def enemies onlyupper
 192   endif
 193   for (from piece) fn enemies
 194     if fn #piece #from #king
 195       return #from
 196     endif
 197   next
 198   return false
 199 endsub
 200 sub P from to
 201   verify > rank #to rank #from
 202   verify <= distance #to #from #fps
 203   if capture
 204     verify checkleap #from #to 1 1
 205     set ep false
 206   elseif checkleap #from #to 1 1 and #ep
 207     verify == filename var ep filename #to
 208     verify < rankname var ep rankname #to
 209     verify < rankname #to var bpr
 210     capture #ep
 211     set ep false
 212   elseif > distance #to #from 1
 213     verify == rankname #from #wpr
 214     verify checkride #from #to 0 1
 215     set ep #to
 216   else
 217     verify checkleap #from #to 0 1
 218     set ep false
 219   endif
 220   if onboard where #to 0 #pzs
 221     if != space #to moved
 222       die "You may not promote a Pawn until it reaches the promotion zone."
 223     endif
 224   elseif == P space #to
 225     askpromote #wprom
 226   elseif not match space #to var wprom
 227     set np space #to
 228     die "You may not promote your Pawn to a" #np
 229   endif
 230   set nopvc 0
 231   return true
 232 endsub
 233 sub p from to
 234   verify < rank #to rank #from
 235   verify <= distance #to #from #fps
 236   if capture
 237     verify checkleap #from #to 1 1
 238     set ep false
 239   elseif checkleap #from #to 1 1 and #ep
 240     verify == filename var ep filename #to
 241     verify > rankname var ep rankname #to
 242     verify > rankname #to var wpr
 243     capture #ep
 244     set ep false
 245   elseif > distance #to #from 1
 246     verify == rankname #from #bpr
 247     verify checkride #from #to 0 1
 248     set ep #to
 249   else
 250     verify checkleap #from #to 0 1
 251     set ep false
 252   endif
 253   if != space #to moved and onboard where #to 0 neg #pzs
 254     die You may not promote a Pawn until it reaches the promotion zone.
 255   endif
 256   if not onboard where #to 0 neg #pzs
 257     if == p space #to
 258       askpromote #bprom
 259     elseif not match space #to var bprom
 260       set np space #to
 261       die You may not promote your Pawn to a #np
 262     endif
 263   endif
 264   set nopvc 0
 265   return true
 266 endsub
 267 sub K from to
 268   if not fn K #from #to
 269     verify sub castle #from #to and match #to var wcastle
 270   endif
 271   set K #to
 272   return true
 273 endsub
 274 sub k from to
 275   if not fn k #from #to
 276     verify sub castle #from #to and match #to var bcastle
 277   endif
 278   set k #to
 279   return true
 280 endsub
 281 sub castle from to
 282   local c RPOS RDEST xdir
 283   if not flag #from
 284     die A King may not castle after it moves.
 285   endif
 286   if capture
 287     die A King may not castle to an occupied space.
 288   endif
 289   set xdir sign minus file #to file #from
 290   if not checkaride #from #to #xdir 0
 291     die A King may not castle across any occupied space.
 292   endif
 293   set c #to
 294   do
 295     set c where #c #xdir 0
 296     if flag #c
 297       break
 298     elseif not onboard #c
 299       die No piece was found to castle with.
 300     elseif not empty #c
 301       die The King cannot castle with the piece at #c
 302     endif
 303   loop
 304   set RPOS #c
 305   move #to #from
 306   if sub checked #from
 307     die A King may not castle out of check.
 308   endif
 309   store
 310   for c path #from #to
 311     move #from #c
 312     if sub checked #c
 313       die A King may not castle through check.
 314     endif
 315     restore
 316   next
 317   move #from #to
 318   set RDEST where #to neg #xdir 0
 319   move #RPOS #RDEST
 320   return true
 321 endsub
 322 sub castlepos from to
 323   local c RPOS RDEST xdir safe
 324   verify flag #from
 325   verify empty #to
 326   set xdir sign minus file #to file #from
 327   verify checkaride #from #to #xdir 0
 328   verify not sub checked #from
 329   set c #to
 330   do
 331     set c where #c #xdir 0
 332     if flag #c
 333       break
 334     endif
 335     verify onboard #c
 336     verify empty #c
 337   loop
 338   verify flag #c
 339   set RPOS #c
 340   store
 341   for c path #from #to
 342     move #from #c
 343     set safe not sub checked #c
 344     restore
 345     verify #safe
 346   next
 347   move #from #to
 348   set RDEST where #to neg #xdir 0
 349   move #RPOS #RDEST
 350   set safe not sub checked #to
 351   restore
 352   return #safe
 353 endsub
 354 sub stalemated kingpos
 355   store
 356   local from piece to
 357   if isupper space #kingpos
 358     def friends onlyupper
 359     def friend isupper #0
 360     set cspaces var wcastle
 361   else
 362     def friends onlylower
 363     def friend islower #0
 364     set cspaces var bcastle
 365   endif
 366   set royal space var kingpos
 367   store
 368   for (from piece) fn friends
 369     for to fn join #piece L #from
 370       if fn #piece #from #to and not fn friend space #to and onboard #to
 371         move #from #to
 372         if not sub checked cond == #from #kingpos #to #kingpos
 373           setlegal #from #to
 374         endif
 375       endif
 376       restore
 377     next
 378   next
 379   for to var cspaces
 380     if sub castlepos #kingpos #to
 381       setlegal #kingpos #to
 382     endif
 383   next
 384   return cond count system legalmoves false true
 385 endsub
 386 sub enpassant piece from to
 387   local pe
 388   verify not capture and #ep
 389   verify == P toupper #piece
 390   set pe join filename #to rankname #from
 391   verify == #ep #pe
 392   capture #ep
 393 endsub
 394 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] => 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 ) [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] => 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] => wpr [41] => or [42] => checkleap [43] => #0 [44] => #1 [45] => 0 [46] => 1 [47] => and [48] => empty [49] => #1 [50] => or [51] => and [52] => islower [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 ) [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 ) [ZL] => Array ( [0] => leaps [1] => #0 [2] => 2 [3] => 3 ) [gu] => Array ( [0] => fn [1] => k [2] => #0 [3] => #1 ) [lad] => Array ( [0] => checktwostep [1] => #0 [2] => #1 [3] => 0 [4] => 1 [5] => 0 [6] => 1 ) [z] => Array ( [0] => checkleap [1] => #0 [2] => #1 [3] => 2 [4] => 3 ) [G] => 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] => checkleap [13] => #0 [14] => #1 [15] => 0 [16] => 1 ) [g] => Array ( [0] => fn [1] => G [2] => #0 [3] => #1 ) [lae] => Array ( [0] => checktwostep [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => 1 [6] => 1 ) [apq] => Array ( [0] => fn [1] => B [2] => #0 [3] => #1 [4] => or [5] => checkride [6] => #0 [7] => #1 [8] => 1 [9] => 2 ) [friends] => Array ( [0] => onlyupper ) [friend] => Array ( [0] => isupper [1] => #0 ) [enemies] => Array ( [0] => onlylower ) )

uservar

Array ( [0] => Array ( [main] => Array ( [k] => h13 [K] => h2 [ep] => [wpr] => 4 [bpr] => 11 [fps] => 3 [pzs] => 2 [wcastle] => Array ( [0] => l1 [1] => d1 ) [bcastle] => Array ( [0] => l13 [1] => d13 ) [wprom] => Array ( [0] => N [1] => B [2] => R [3] => L [4] => GU [5] => Z [6] => G [7] => APQ [8] => LAE [9] => LAD [10] => Q ) [bprom] => Array ( [0] => n [1] => b [2] => r [3] => l [4] => gu [5] => z [6] => g [7] => apq [8] => lae [9] => lad [10] => q ) [steps] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 ) [posvar] => bg------------g-rnb{gu}{lad}qk{lad}{gu}bnr--1z{lae}{apq}1ll1{apq}{lae}z1--pppppppppppp--12--12--12--12--12--12--PPPPPPPPPPPP--1Z{LAE}{APQ}1LL1{APQ}{LAE}Z1--RNB{GU}{LAD}QK{LAD}{GU}BNR-G------------G,b13,b2,h13,h2,m13,m2 [cspaces] => Array ( [0] => l1 [1] => d1 ) [royal] => K ) ) [2] => Array ( [stalemated] => Array ( [subargs] => Array ( [0] => h2 ) ) [main] => Array ( [kingpos] => h2 [from] => b4 [piece] => P [to] => b6 ) ) [8] => Array ( [checked] => Array ( [subargs] => Array ( [0] => h2 ) [from] => g12 [piece] => l ) [main] => Array ( [king] => h2 ) ) )

mline

Array ( [0] => MoveLine Object ( [movenum] => 0 [move] => [level] => 0 [comment] => [length] => 0 [newturn] => [turn] => 0 ) )

allmoves

Array ( )

movelist

constants

Array ( )