This preset has now been updated to spot check, checkmate, and stalemate.

Syntax Error on line 369

The sum operator requires at least two arguments.

Edit the Settings File for Grand Cavalier 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 echo This preset has now been updated to spot check, checkmate, and stalemate.
   1 set cap assoc m 0 a 0 i 0 c 0 q 0
   2 set CAP assoc M 0 A 0 I 0 C 0 Q 0
   3 set k findpiece x spaces
   4 set K findpiece X spaces
   5 include grandcavalier
   6 sub postauto1
   7   if isupper old
   8     die You may not capture your own pieces.
   9   endif
  10   if == moved H
  11     set legal sub H origin dest
  12   elseif match moved X M A I Q C
  13     set legal fn moved origin dest
  14     if != moved space dest
  15       die You may not change your moved into something else.
  16     endif
  17   endif
  18   if not #legal
  19     die You may not move a moved from origin to dest
  20   endif
  21   if == moved X
  22     set K dest
  23   endif
  24   if sub checked #K
  25     die You may not move your Eques Rex into check
  26   endif
  27   if match old m a i c q
  28     setelem cap old inc elem old cap
  29   endif
  30 endsub
  31 sub postauto2
  32   if islower old
  33     die You may not capture your own pieces.
  34   endif
  35   if == moved h
  36     set legal sub h origin dest
  37   elseif match moved x m a i q c
  38     set legal fn moved origin dest
  39     if != moved space dest
  40       die You may not change your moved into something else.
  41     endif
  42   endif
  43   if not #legal
  44     die You may not move a moved from origin to dest
  45   endif
  46   if == moved x
  47     set k dest
  48   endif
  49   if sub checked #k
  50     die You may not move your Eques Rex into check
  51   endif
  52   if match old M A I C Q
  53     setelem CAP old inc elem old cap
  54   endif
  55 endsub
  56 moveindex 0
  57 MOVE: H g3-f5
  58 postauto1
  59 moveindex 1
  60 MOVE: e8-f6
  61 postauto2
  62 moveindex 2
  63 MOVE: H f3-g5
  64 postauto1
  65 moveindex 3
  66 MOVE: c10-e9
  67 postauto2
  68 moveindex 4
  69 MOVE: C a2-e2
  70 postauto1
  71 moveindex 5
  72 MOVE: d8-e6
  73 postauto2
  74 moveindex 6
  75 MOVE: H e3-d5
  76 postauto1
  77 moveindex 7
  78 MOVE: f8-d7
  79 postauto2
  80 moveindex 8
  81 MOVE: C e2-e9
  82 postauto1
  83 moveindex 9
  84 MOVE: d10-e9
  85 postauto2
  86 moveindex 10
  87 MOVE: Q e1-e6
  88 postauto1
  89 moveindex 11
  90 MOVE: j9-j6
  91 postauto2
  92 moveindex 12
  93 MOVE: Q e6-e3
  94 postauto1
  95 moveindex 13
  96 MOVE: h8-g6
  97 postauto2
  98 moveindex 14
  99 MOVE: A d1-h5
 100 postauto1
 101 moveindex 15
 102 MOVE: i8-g7
 103 postauto2
 104 moveindex 16
 105 MOVE: H d3-e5
 106 postauto1
 107 moveindex 17
 108 MOVE: g10-f8
 109 postauto2
 110 moveindex 18
 111 MOVE: H e5-d7
 112 postauto1
 113 moveindex 19
 114 MOVE: e9-d7
 115 postauto2
 116 moveindex 20
 117 MOVE: M i1-g2
 118 postauto1
 119 moveindex 21
 120 MOVE: c8-b6
 121 postauto2
 122 moveindex 22
 123 MOVE: H i3-j5
 124 postauto1
 125 moveindex 23
 126 MOVE: b6-d5
 127 postauto2
 128 moveindex 24
 129 MOVE: H c3-d5
 130 postauto1
 131 moveindex 25
 132 MOVE: f6-d5
 133 postauto2
 134 moveindex 26
 135 MOVE: A h5-j6
 136 postauto1
 137 moveindex 27
 138 MOVE: h10-j6
 139 postauto2
 140 moveindex 28
 141 MOVE: Q e3-e10
 142 postauto1
 143 moveindex 29
 144 MOVE: b10-e10
 145 postauto2
 146 moveindex 30
 147 MOVE: C j2-j6
 148 postauto1
 149 moveindex 31
 150 MOVE: d7-b5
 151 postauto2
 152 moveindex 32
 153 MOVE: X f1-h2
 154 postauto1
 155 moveindex 33
 156 MOVE: a9-h9
 157 postauto2
 158 moveindex 34
 159 MOVE: H j5-h4
 160 postauto1
 161 moveindex 35
 162 MOVE: b5-f1
 163 postauto2
 164 moveindex 36
 165 MOVE: X h2-f1
 166 postauto1
 167 moveindex 37
 168 MOVE: g6-i5
 169 postauto2
 170 moveindex 38
 171 MOVE: H f5-g7
 172 postauto1
 173 moveindex 39
 174 MOVE: f8-g7
 175 postauto2
 176 moveindex 40
 177 MOVE: H h4-i6
 178 postauto1
 179 moveindex 41
 180 MOVE: g7-e5
 181 postauto2
 182 moveindex 42
 183 MOVE: I c1-e5
 184 postauto1
 185 moveindex 43
 186 MOVE: h9-h1
 187 postauto2
 188 moveindex 44
 189 MOVE: A g1-b6
 190 postauto1
 191 moveindex 45
 192 MOVE: d5-b6
 193 postauto2
 194 moveindex 46
 195 MOVE: M g2-f2
 196 postauto1
 197 moveindex 47
 198 MOVE: f10-g10
 199 postauto2
 200 moveindex 48
 201 MOVE: I e5-a7
 202 postauto1
 203 moveindex 49
 204 MOVE: g10-i9
 205 postauto2
 206 moveindex 50
 207 MOVE: M f2-h1
 208 postauto1
 209 moveindex 51
 210 MOVE: i5-j3
 211 postauto2
 212 moveindex 52
 213 MOVE: H g5-h7
 214 postauto1
 215 moveindex 53
 216 MOVE: i9-h10
 217 postauto2
 218 moveindex 54
 219 MOVE: H i6-j8
 220 postauto1
 221 moveindex 55
 222 MOVE: i10-i2
 223 postauto2
 224 moveindex 56
 225 MOVE: C j6-i6
 226 postauto1
 227 moveindex 57
 228 MOVE: e10-f10
 229 postauto2
 230 moveindex 58
 231 MOVE: X f1-e3
 232 postauto1
 233 moveindex 59
 234 MOVE: f10-e10
 235 postauto2
 236 moveindex 60
 237 MOVE: X e3-g4
 238 postauto1
 239 moveindex 61
 240 MOVE: i2-g2
 241 postauto2
 242 moveindex 62
 243 MOVE: M h1-g3
 244 postauto1
 245 moveindex 63
 246 MOVE: e10-e4
 247 postauto2
 248 moveindex 64
 249 MOVE: X g4-h5
 250 postauto1
 251 moveindex 65
 252 MOVE: g2-g3
 253 postauto2
 254 moveindex 66
 255 MOVE: X h5-j6
 256 postauto1
 257 moveindex 67
 258 MOVE: e4-i4
 259 postauto2
 260 if sub stalemated #K
 261   if sub checked #K
 262     say Checkmate! Black has won!
 263     won
 264   else
 265     say Stalemate! Game is drawn!
 266     drawn
 267   endif
 268   won
 269 elseif sub checked #K
 270   say Check!
 271 endif
 272 end
 273 
 274 lib grandcavalier
 275 def H > 0 sum var CAP or == space #1 x or != rank #1 9 and checktwostep #0 #1 0 1 1 1
 276 def C cond cond empty #0 capture (not empty #1) (checkhop #0 #1 0 1) (checkride #0 #1 0 1) and #1
 277 def Q checkride #0 #1 1 0 or checkride #0 #1 1 1
 278 def M checkride #0 #1 1 0 or checkleap #0 #1 1 2
 279 def A checkride #0 #1 1 1 or checkleap #0 #1 1 2
 280 def X checkleap #0 #1 1 0 or checkleap #0 #1 1 1 or checkleap #0 #1 1 2
 281 def I checkride #0 #1 1 2
 282 def h > 0 sum var cap or == space #1 X or != rank #1 0 and checktwostep #0 #1 0 1 1 1
 283 def c cond cond empty #0 capture (not empty #1) (checkhop #0 #1 0 1) (checkride #0 #1 0 1) and #1
 284 def q checkride #0 #1 1 0 or checkride #0 #1 1 1
 285 def m checkride #0 #1 1 0 or checkleap #0 #1 1 2
 286 def a checkride #0 #1 1 1 or checkleap #0 #1 1 2
 287 def x checkleap #0 #1 1 0 or checkleap #0 #1 1 1 or checkleap #0 #1 1 2
 288 def i checkride #0 #1 1 2
 289 sub h from to
 290   if not checktwostep #from #to 0 1 1 1
 291     return false
 292   endif
 293   set hp space #to
 294   if == #hp h
 295     if != rank #to 0
 296       return true
 297     endif
 298     die You may not move a Cavalier to the last rank without promoting it.
 299   endif
 300   if < elem #hp cap 1
 301     die "You may not promote your Cavalier to a" #hp "until one has been captured."
 302   endif
 303   setelem cap #hp dec elem #hp cap
 304   return true
 305 endsub
 306 sub H from to
 307   if not checktwostep #from #to 0 1 1 1
 308     return false
 309   endif
 310   set hp space #to
 311   if == #hp H
 312     if != rank #to 9
 313       return true
 314     endif
 315     die You may not move a Cavalier to the last rank without promoting it.
 316   endif
 317   if < elem #hp CAP 1
 318     die "You may not promote your Cavalier to a" #hp "until one has been captured."
 319   endif
 320   setelem CAP #hp dec elem #hp CAP
 321   return true
 322 endsub
 323 sub checked king
 324   local from piece
 325   if isupper space #king
 326     def enemies onlylower
 327   else
 328     def enemies onlyupper
 329   endif
 330   for (from piece) fn enemies
 331     if fn #piece #from #king
 332       return true
 333     endif
 334   next
 335   return false
 336 endsub
 337 sub stalemated kingpos
 338   store
 339   local from piece to key lglmvs
 340   set lglmvs ()
 341   if isupper space #kingpos
 342     def friends onlyupper
 343     def nofriends noupper
 344     def friend isupper #0
 345   else
 346     def friends onlylower
 347     def nofriends nolower
 348     def friend islower #0
 349   endif
 350   set royal space var kingpos
 351   store
 352   for to fn join toupper #royal L #kingpos
 353     if fn #royal #kingpos #to and not fn friend space #to and onboard #to
 354       move #kingpos #to
 355       set incheck sub checked #to
 356       restore
 357       if not #incheck
 358         set key array #kingpos #to
 359         push lglmvs #key
 360       endif
 361     endif
 362   next
 363   restore
 364   for (from piece) fn friends
 365     if == #from #kingpos
 366       continue
 367     endif
 368     for to fn join toupper #piece L #from
 369       if fn #piece #from #to and not fn friend space #to and onboard #to
 370         move #from #to
 371         set incheck sub checked #kingpos
 372         if not #incheck
 373           set key array #from #to
 374           push lglmvs #key
 375         endif
 376       endif
 377       restore
 378     next
 379   next
 380   setsystem legalmoves var lglmvs
 381   return cond count var lglmvs false true
 382 endsub
 383 def HL leaps #0 1 2
 384 def CL rays #0 1 0
 385 def QL merge rays #0 1 0 rays #0 1 1
 386 def ML merge rays #0 1 0 leaps #0 1 2
 387 def AL merge rays #0 1 1 leaps #0 1 2
 388 def XL merge merge leaps #0 1 0 leaps #0 1 1 leaps #0 1 2
 389 def IL rays #0 1 2
 390 endlib

functions

Array ( [H] => Array ( [0] => > [1] => 0 [2] => sum [3] => var [4] => CAP [5] => or [6] => == [7] => space [8] => #1 [9] => x [10] => or [11] => != [12] => rank [13] => #1 [14] => 9 [15] => and [16] => checktwostep [17] => #0 [18] => #1 [19] => 0 [20] => 1 [21] => 1 [22] => 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 ) [Q] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 0 [5] => or [6] => checkride [7] => #0 [8] => #1 [9] => 1 [10] => 1 ) [M] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 0 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 1 [10] => 2 ) [A] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 1 [10] => 2 ) [X] => 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] => #0 [14] => #1 [15] => 1 [16] => 2 ) [I] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 2 ) [h] => Array ( [0] => > [1] => 0 [2] => sum [3] => var [4] => cap [5] => or [6] => == [7] => space [8] => #1 [9] => X [10] => or [11] => != [12] => rank [13] => #1 [14] => 0 [15] => and [16] => checktwostep [17] => #0 [18] => #1 [19] => 0 [20] => 1 [21] => 1 [22] => 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 ) [q] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 0 [5] => or [6] => checkride [7] => #0 [8] => #1 [9] => 1 [10] => 1 ) [m] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 0 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 1 [10] => 2 ) [a] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 1 [5] => or [6] => checkleap [7] => #0 [8] => #1 [9] => 1 [10] => 2 ) [x] => 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] => #0 [14] => #1 [15] => 1 [16] => 2 ) [i] => Array ( [0] => checkride [1] => #0 [2] => #1 [3] => 1 [4] => 2 ) [HL] => Array ( [0] => leaps [1] => #0 [2] => 1 [3] => 2 ) [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 ) [ML] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 0 [5] => leaps [6] => #0 [7] => 1 [8] => 2 ) [AL] => Array ( [0] => merge [1] => rays [2] => #0 [3] => 1 [4] => 1 [5] => leaps [6] => #0 [7] => 1 [8] => 2 ) [XL] => Array ( [0] => merge [1] => merge [2] => leaps [3] => #0 [4] => 1 [5] => 0 [6] => leaps [7] => #0 [8] => 1 [9] => 1 [10] => leaps [11] => #0 [12] => 1 [13] => 2 ) [IL] => Array ( [0] => rays [1] => #0 [2] => 1 [3] => 2 ) [enemies] => Array ( [0] => onlylower ) [friends] => Array ( [0] => onlyupper ) [nofriends] => Array ( [0] => noupper ) [friend] => Array ( [0] => isupper [1] => #0 ) )

uservar

Array ( [0] => Array ( [main] => Array ( [cap] => Array ( [m] => 0 [a] => 2 [i] => 2 [c] => 2 [q] => 1 ) [CAP] => Array ( [M] => 1 [A] => 1 [I] => 1 [C] => 1 [Q] => 1 ) [k] => h10 [K] => j6 [hp] => H [legal] => 1 [RESULT] => [royal] => X [incheck] => 1 ) ) [2] => Array ( [stalemated] => Array ( [subargs] => Array ( [0] => j6 ) ) [main] => Array ( [kingpos] => j6 [from] => j8 [piece] => H [to] => i10 [key] => Array ( [0] => j6 [1] => j5 ) [lglmvs] => Array ( [0] => Array ( [0] => j6 [1] => j7 ) [1] => Array ( [0] => j6 [1] => j5 ) ) ) ) )

mline

Array ( [0] => MoveLine Object ( [movenum] => 1 [move] => H g3-f5 [level] => 0 [comment] => [length] => 10 [newturn] => 1 [turn] => 1 ) [1] => MoveLine Object ( [movenum] => 2 [move] => e8-f6 [level] => 0 [comment] => [length] => 10 [newturn] => [turn] => 1 ) [2] => MoveLine Object ( [movenum] => 3 [move] => H f3-g5 [level] => 0 [comment] => [length] => 10 [newturn] => 1 [turn] => 2 ) [3] => MoveLine Object ( [movenum] => 4 [move] => c10-e9 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 2 ) [4] => MoveLine Object ( [movenum] => 5 [move] => C a2-e2 [level] => 0 [comment] => [length] => 10 [newturn] => 1 [turn] => 3 ) [5] => MoveLine Object ( [movenum] => 6 [move] => d8-e6 [level] => 0 [comment] => [length] => 10 [newturn] => [turn] => 3 ) [6] => MoveLine Object ( [movenum] => 7 [move] => H e3-d5 [level] => 0 [comment] => [length] => 10 [newturn] => 1 [turn] => 4 ) [7] => MoveLine Object ( [movenum] => 8 [move] => f8-d7 [level] => 0 [comment] => [length] => 10 [newturn] => [turn] => 4 ) [8] => MoveLine Object ( [movenum] => 9 [move] => C e2-e9 [level] => 0 [comment] => // CxI [length] => 17 [newturn] => 1 [turn] => 5 ) [9] => MoveLine Object ( [movenum] => 10 [move] => d10-e9 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 5 ) [10] => MoveLine Object ( [movenum] => 11 [move] => Q e1-e6 [level] => 0 [comment] => // QxH [length] => 17 [newturn] => 1 [turn] => 6 ) [11] => MoveLine Object ( [movenum] => 12 [move] => j9-j6 [level] => 0 [comment] => [length] => 10 [newturn] => [turn] => 6 ) [12] => MoveLine Object ( [movenum] => 13 [move] => Q e6-e3 [level] => 0 [comment] => [length] => 10 [newturn] => 1 [turn] => 7 ) [13] => MoveLine Object ( [movenum] => 14 [move] => h8-g6 [level] => 0 [comment] => [length] => 10 [newturn] => [turn] => 7 ) [14] => MoveLine Object ( [movenum] => 15 [move] => A d1-h5 [level] => 0 [comment] => [length] => 10 [newturn] => 1 [turn] => 8 ) [15] => MoveLine Object ( [movenum] => 16 [move] => i8-g7 [level] => 0 [comment] => [length] => 10 [newturn] => [turn] => 8 ) [16] => MoveLine Object ( [movenum] => 17 [move] => H d3-e5 [level] => 0 [comment] => [length] => 10 [newturn] => 1 [turn] => 9 ) [17] => MoveLine Object ( [movenum] => 18 [move] => g10-f8 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 9 ) [18] => MoveLine Object ( [movenum] => 19 [move] => H e5-d7 [level] => 0 [comment] => // HxH [length] => 18 [newturn] => 1 [turn] => 10 ) [19] => MoveLine Object ( [movenum] => 20 [move] => e9-d7 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 10 ) [20] => MoveLine Object ( [movenum] => 21 [move] => M i1-g2 [level] => 0 [comment] => [length] => 11 [newturn] => 1 [turn] => 11 ) [21] => MoveLine Object ( [movenum] => 22 [move] => c8-b6 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 11 ) [22] => MoveLine Object ( [movenum] => 23 [move] => H i3-j5 [level] => 0 [comment] => [length] => 11 [newturn] => 1 [turn] => 12 ) [23] => MoveLine Object ( [movenum] => 24 [move] => b6-d5 [level] => 0 [comment] => // HxH [length] => 18 [newturn] => [turn] => 12 ) [24] => MoveLine Object ( [movenum] => 25 [move] => H c3-d5 [level] => 0 [comment] => // HxH [length] => 18 [newturn] => 1 [turn] => 13 ) [25] => MoveLine Object ( [movenum] => 26 [move] => f6-d5 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 13 ) [26] => MoveLine Object ( [movenum] => 27 [move] => A h5-j6 [level] => 0 [comment] => // AxC, Check [length] => 25 [newturn] => 1 [turn] => 14 ) [27] => MoveLine Object ( [movenum] => 28 [move] => h10-j6 [level] => 0 [comment] => // IxA [length] => 19 [newturn] => [turn] => 14 ) [28] => MoveLine Object ( [movenum] => 29 [move] => Q e3-e10 [level] => 0 [comment] => // QxQ, Check [length] => 26 [newturn] => 1 [turn] => 15 ) [29] => MoveLine Object ( [movenum] => 30 [move] => b10-e10 [level] => 0 [comment] => [length] => 13 [newturn] => [turn] => 15 ) [30] => MoveLine Object ( [movenum] => 31 [move] => C j2-j6 [level] => 0 [comment] => // CxI [length] => 18 [newturn] => 1 [turn] => 16 ) [31] => MoveLine Object ( [movenum] => 32 [move] => d7-b5 [level] => 0 [comment] => // check [length] => 20 [newturn] => [turn] => 16 ) [32] => MoveLine Object ( [movenum] => 33 [move] => X f1-h2 [level] => 0 [comment] => [length] => 11 [newturn] => 1 [turn] => 17 ) [33] => MoveLine Object ( [movenum] => 34 [move] => a9-h9 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 17 ) [34] => MoveLine Object ( [movenum] => 35 [move] => H j5-h4 [level] => 0 [comment] => [length] => 11 [newturn] => 1 [turn] => 18 ) [35] => MoveLine Object ( [movenum] => 36 [move] => b5-f1 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 18 ) [36] => MoveLine Object ( [movenum] => 37 [move] => X h2-f1 [level] => 0 [comment] => [length] => 11 [newturn] => 1 [turn] => 19 ) [37] => MoveLine Object ( [movenum] => 38 [move] => g6-i5 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 19 ) [38] => MoveLine Object ( [movenum] => 39 [move] => H f5-g7 [level] => 0 [comment] => // HxH [length] => 18 [newturn] => 1 [turn] => 20 ) [39] => MoveLine Object ( [movenum] => 40 [move] => f8-g7 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 20 ) [40] => MoveLine Object ( [movenum] => 41 [move] => H h4-i6 [level] => 0 [comment] => [length] => 11 [newturn] => 1 [turn] => 21 ) [41] => MoveLine Object ( [movenum] => 42 [move] => g7-e5 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 21 ) [42] => MoveLine Object ( [movenum] => 43 [move] => I c1-e5 [level] => 0 [comment] => // IxA [length] => 18 [newturn] => 1 [turn] => 22 ) [43] => MoveLine Object ( [movenum] => 44 [move] => h9-h1 [level] => 0 [comment] => // CxI ch. [length] => 22 [newturn] => [turn] => 22 ) [44] => MoveLine Object ( [movenum] => 45 [move] => A g1-b6 [level] => 0 [comment] => // Check [length] => 20 [newturn] => 1 [turn] => 23 ) [45] => MoveLine Object ( [movenum] => 46 [move] => d5-b6 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 23 ) [46] => MoveLine Object ( [movenum] => 47 [move] => M g2-f2 [level] => 0 [comment] => // Check [length] => 20 [newturn] => 1 [turn] => 24 ) [47] => MoveLine Object ( [movenum] => 48 [move] => f10-g10 [level] => 0 [comment] => [length] => 13 [newturn] => [turn] => 24 ) [48] => MoveLine Object ( [movenum] => 49 [move] => I e5-a7 [level] => 0 [comment] => // Check [length] => 20 [newturn] => 1 [turn] => 25 ) [49] => MoveLine Object ( [movenum] => 50 [move] => g10-i9 [level] => 0 [comment] => [length] => 12 [newturn] => [turn] => 25 ) [50] => MoveLine Object ( [movenum] => 51 [move] => M f2-h1 [level] => 0 [comment] => // MxC [length] => 18 [newturn] => 1 [turn] => 26 ) [51] => MoveLine Object ( [movenum] => 52 [move] => i5-j3 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 26 ) [52] => MoveLine Object ( [movenum] => 53 [move] => H g5-h7 [level] => 0 [comment] => // Check [length] => 20 [newturn] => 1 [turn] => 27 ) [53] => MoveLine Object ( [movenum] => 54 [move] => i9-h10 [level] => 0 [comment] => [length] => 12 [newturn] => [turn] => 27 ) [54] => MoveLine Object ( [movenum] => 55 [move] => H i6-j8 [level] => 0 [comment] => [length] => 11 [newturn] => 1 [turn] => 28 ) [55] => MoveLine Object ( [movenum] => 56 [move] => i10-i2 [level] => 0 [comment] => [length] => 12 [newturn] => [turn] => 28 ) [56] => MoveLine Object ( [movenum] => 57 [move] => C j6-i6 [level] => 0 [comment] => [length] => 11 [newturn] => 1 [turn] => 29 ) [57] => MoveLine Object ( [movenum] => 58 [move] => e10-f10 [level] => 0 [comment] => [length] => 13 [newturn] => [turn] => 29 ) [58] => MoveLine Object ( [movenum] => 59 [move] => X f1-e3 [level] => 0 [comment] => [length] => 11 [newturn] => 1 [turn] => 30 ) [59] => MoveLine Object ( [movenum] => 60 [move] => f10-e10 [level] => 0 [comment] => [length] => 13 [newturn] => [turn] => 30 ) [60] => MoveLine Object ( [movenum] => 61 [move] => X e3-g4 [level] => 0 [comment] => [length] => 11 [newturn] => 1 [turn] => 31 ) [61] => MoveLine Object ( [movenum] => 62 [move] => i2-g2 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 31 ) [62] => MoveLine Object ( [movenum] => 63 [move] => M h1-g3 [level] => 0 [comment] => [length] => 11 [newturn] => 1 [turn] => 32 ) [63] => MoveLine Object ( [movenum] => 64 [move] => e10-e4 [level] => 0 [comment] => [length] => 12 [newturn] => [turn] => 32 ) [64] => MoveLine Object ( [movenum] => 65 [move] => X g4-h5 [level] => 0 [comment] => [length] => 11 [newturn] => 1 [turn] => 33 ) [65] => MoveLine Object ( [movenum] => 66 [move] => g2-g3 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 33 ) [66] => MoveLine Object ( [movenum] => 67 [move] => X h5-j6 [level] => 0 [comment] => [length] => 11 [newturn] => 1 [turn] => 34 ) [67] => MoveLine Object ( [movenum] => 68 [move] => e4-i4 [level] => 0 [comment] => [length] => 11 [newturn] => [turn] => 34 ) )

allmoves

Array ( [0] => moveindex 67;MOVE: e4-i4;postauto2 [1] => moveindex 66;MOVE: X h5-j6;postauto1 [2] => moveindex 65;MOVE: g2-g3;postauto2 [3] => moveindex 64;MOVE: X g4-h5;postauto1 [4] => moveindex 63;MOVE: e10-e4;postauto2 [5] => moveindex 62;MOVE: M h1-g3;postauto1 [6] => moveindex 61;MOVE: i2-g2;postauto2 [7] => moveindex 60;MOVE: X e3-g4;postauto1 [8] => moveindex 59;MOVE: f10-e10;postauto2 [9] => moveindex 58;MOVE: X f1-e3;postauto1 [10] => moveindex 57;MOVE: e10-f10;postauto2 [11] => moveindex 56;MOVE: C j6-i6;postauto1 [12] => moveindex 55;MOVE: i10-i2;postauto2 [13] => moveindex 54;MOVE: H i6-j8;postauto1 [14] => moveindex 53;MOVE: i9-h10;postauto2 [15] => moveindex 52;MOVE: H g5-h7;postauto1 [16] => moveindex 51;MOVE: i5-j3;postauto2 [17] => moveindex 50;MOVE: M f2-h1;postauto1 [18] => moveindex 49;MOVE: g10-i9;postauto2 [19] => moveindex 48;MOVE: I e5-a7;postauto1 [20] => moveindex 47;MOVE: f10-g10;postauto2 [21] => moveindex 46;MOVE: M g2-f2;postauto1 [22] => moveindex 45;MOVE: d5-b6;postauto2 [23] => moveindex 44;MOVE: A g1-b6;postauto1 [24] => moveindex 43;MOVE: h9-h1;postauto2 [25] => moveindex 42;MOVE: I c1-e5;postauto1 [26] => moveindex 41;MOVE: g7-e5;postauto2 [27] => moveindex 40;MOVE: H h4-i6;postauto1 [28] => moveindex 39;MOVE: f8-g7;postauto2 [29] => moveindex 38;MOVE: H f5-g7;postauto1 [30] => moveindex 37;MOVE: g6-i5;postauto2 [31] => moveindex 36;MOVE: X h2-f1;postauto1 [32] => moveindex 35;MOVE: b5-f1;postauto2 [33] => moveindex 34;MOVE: H j5-h4;postauto1 [34] => moveindex 33;MOVE: a9-h9;postauto2 [35] => moveindex 32;MOVE: X f1-h2;postauto1 [36] => moveindex 31;MOVE: d7-b5;postauto2 [37] => moveindex 30;MOVE: C j2-j6;postauto1 [38] => moveindex 29;MOVE: b10-e10;postauto2 [39] => moveindex 28;MOVE: Q e3-e10;postauto1 [40] => moveindex 27;MOVE: h10-j6;postauto2 [41] => moveindex 26;MOVE: A h5-j6;postauto1 [42] => moveindex 25;MOVE: f6-d5;postauto2 [43] => moveindex 24;MOVE: H c3-d5;postauto1 [44] => moveindex 23;MOVE: b6-d5;postauto2 [45] => moveindex 22;MOVE: H i3-j5;postauto1 [46] => moveindex 21;MOVE: c8-b6;postauto2 [47] => moveindex 20;MOVE: M i1-g2;postauto1 [48] => moveindex 19;MOVE: e9-d7;postauto2 [49] => moveindex 18;MOVE: H e5-d7;postauto1 [50] => moveindex 17;MOVE: g10-f8;postauto2 [51] => moveindex 16;MOVE: H d3-e5;postauto1 [52] => moveindex 15;MOVE: i8-g7;postauto2 [53] => moveindex 14;MOVE: A d1-h5;postauto1 [54] => moveindex 13;MOVE: h8-g6;postauto2 [55] => moveindex 12;MOVE: Q e6-e3;postauto1 [56] => moveindex 11;MOVE: j9-j6;postauto2 [57] => moveindex 10;MOVE: Q e1-e6;postauto1 [58] => moveindex 9;MOVE: d10-e9;postauto2 [59] => moveindex 8;MOVE: C e2-e9;postauto1 [60] => moveindex 7;MOVE: f8-d7;postauto2 [61] => moveindex 6;MOVE: H e3-d5;postauto1 [62] => moveindex 5;MOVE: d8-e6;postauto2 [63] => moveindex 4;MOVE: C a2-e2;postauto1 [64] => moveindex 3;MOVE: c10-e9;postauto2 [65] => moveindex 2;MOVE: H f3-g5;postauto1 [66] => moveindex 1;MOVE: e8-f6;postauto2 [67] => moveindex 0;MOVE: H g3-f5;postauto1 )

movelist

1. H g3-f5 1... e8-f6 2. H f3-g5 2... c10-e9 3. C a2-e2 3... d8-e6 4. H e3-d5 4... f8-d7 5. C e2-e9 // CxI 5... d10-e9 6. Q e1-e6 // QxH 6... j9-j6 7. Q e6-e3 7... h8-g6 8. A d1-h5 8... i8-g7 9. H d3-e5 9... g10-f8 10. H e5-d7 // HxH 10... e9-d7 11. M i1-g2 11... c8-b6 12. H i3-j5 12... b6-d5 // HxH 13. H c3-d5 // HxH 13... f6-d5 14. A h5-j6 // AxC, Check 14... h10-j6 // IxA 15. Q e3-e10 // QxQ, Check 15... b10-e10 16. C j2-j6 // CxI 16... d7-b5 // check 17. X f1-h2 17... a9-h9 18. H j5-h4 18... b5-f1 19. X h2-f1 19... g6-i5 20. H f5-g7 // HxH 20... f8-g7 21. H h4-i6 21... g7-e5 22. I c1-e5 // IxA 22... h9-h1 // CxI ch. 23. A g1-b6 // Check 23... d5-b6 24. M g2-f2 // Check 24... f10-g10 25. I e5-a7 // Check 25... g10-i9 26. M f2-h1 // MxC 26... i5-j3 27. H g5-h7 // Check 27... i9-h10 28. H i6-j8 28... i10-i2 29. C j6-i6 29... e10-f10 30. X f1-e3 30... f10-e10 31. X e3-g4 31... i2-g2 32. M h1-g3 32... e10-e4 33. X g4-h5 33... g2-g3 34. X h5-j6 34... e4-i4

constants

Array ( )