Please report any bugs or errors to H.G. Muller

Syntax Error on line 1000

f1 is not a valid expression, because f1 is not a recognized piece, coordinate, command, or subroutine.

Edit the Settings File for Grand Apothecary Chess 3

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 include /membergraphics/MSgame-code-generation/betza.txt
   1 set legdefs
(0
1  1  1  1     2
1  1 -1  1     2
1 -1  0  1   8388609
1  1  1  1     4
1  1 -1  1     4
0
1  1 -1 -1     2
1  1  1 -1     2
1 -1  0 -1   8388609
1  1 -1 -1     4
1  1  1 -1     4
0
1 -1  1  1     1
1 -1 -1  1     1
1  1  0  1     2
1  1  0  1     4
0
1 -1 -1 -1     1
1 -1  1 -1     1
1  1  0 -1     2
1  1  0 -1     4
0
1  1  0  1     3
1  1  1  1     3
1  1  1  0     3
1  1  1 -1     3
1  1  0 -1     3
1  1 -1 -1     3
1  1 -1  0     3
1  1 -1  1     3
2 99  1  0    72
1  3  0     9
2 99 -1  0    72
1 -3  0     9
2 99  1  0    72
1  4  0     9
2 99 -1  0    72
1 -4  0     9
2 99  1  0   33554504
1  2  0     9
2 99 -1  0   33554504
1 -2  0     9
2 99  1  0   33554504
1  3  0     9
2 99 -1  0   33554504
1 -3  0     9
0
1 99  0  1     3
1 99  1  0     3
1 99  0 -1     3
1 99 -1  0     3
0
1 99  0  1     3
1 99  1  1     3
1 99  1  0     3
1 99  1 -1     3
1 99  0 -1     3
1 99 -1 -1     3
1 99 -1  0     3
1 99 -1  1     3
0
1 99  1  1     3
1 99  1 -1     3
1 99 -1 -1     3
1 99 -1  1     3
0
1  1  1  2     3
1  1  2  1     3
1  1  2 -1     3
1  1  1 -2     3
1  1 -1 -2     3
1  1 -2 -1     3
1  1 -2  1     3
1  1 -1  2     3
1  1  2  3     1
1  1  3  2     1
1  1  3 -2     1
1  1  2 -3     1
1  1 -2 -3     1
1  1 -3 -2     1
1  1 -3  2     1
1  1 -2  3     1
0
1  1  0  1     3
1  1  1  0     3
1  1  0 -1     3
1  1 -1  0     3
1  1  1  3     3
1  1  3  1     3
1  1  3 -1     3
1  1  1 -3     3
1  1 -1 -3     3
1  1 -3 -1     3
1  1 -3  1     3
1  1 -1  3     3
0
1  1  1  1     3
1  1  1 -1     3
1  1 -1 -1     3
1  1 -1  1     3
1  1  2  2     3
1  1  2 -2     3
1  1 -2 -2     3
1  1 -2  2     3
1  1  0  3     3
1  1  3  0     3
1  1  0 -3     3
1  1 -3  0     3
0
1 99  0  1     1
1 99  1  0     1
1 99  0 -1     1
1 99 -1  0     1
2 99  0  1    16
99  0  1     2
2 99  1  0    16
99  1  0     2
2 99  0 -1    16
99  0 -1     2
2 99 -1  0    16
99 -1  0     2
0
1 99  1  2     3
1 99  2  1     3
1 99  2 -1     3
1 99  1 -2     3
1 99 -1 -2     3
1 99 -2 -1     3
1 99 -2  1     3
1 99 -1  2     3
0
1 99  1  1     3
1 99  1 -1     3
1 99 -1 -1     3
1 99 -1  1     3
1  1  1  3     3
1  1  3  1     3
1  1  3 -1     3
1  1  1 -3     3
1  1 -1 -3     3
1  1 -3 -1     3
1  1 -3  1     3
1  1 -1  3     3
0
4  1  0  1     1
1  0  1     1
1  0  1     1
1  1  1     3
4  1  1  1     1
1  1  1     1
1  1  1     1
1  1  0     3
4  1  1  0     1
1  1  0     1
1  1  0     1
1  1 -1     3
4  1  1 -1     1
1  1 -1     1
1  1 -1     1
1  0 -1     3
4  1  0 -1     1
1  0 -1     1
1  0 -1     1
1 -1 -1     3
4  1 -1 -1     1
1 -1 -1     1
1 -1 -1     1
1 -1  0     3
4  1 -1  0     1
1 -1  0     1
1 -1  0     1
1 -1  1     3
4  1 -1  1     1
1 -1  1     1
1 -1  1     1
1  0  1     3
4  1  0  1     1
1  0  1     1
1  0  1     1
1 -1  1     3
4  1  1  1     1
1  1  1     1
1  1  1     1
1  0  1     3
4  1  1  0     1
1  1  0     1
1  1  0     1
1  1  1     3
4  1  1 -1     1
1  1 -1     1
1  1 -1     1
1  1  0     3
4  1  0 -1     1
1  0 -1     1
1  0 -1     1
1  1 -1     3
4  1 -1 -1     1
1 -1 -1     1
1 -1 -1     1
1  0 -1     3
4  1 -1  0     1
1 -1  0     1
1 -1  0     1
1 -1 -1     3
4  1 -1  1     1
1 -1  1     1
1 -1  1     1
1 -1  0     3
4  1  0  1     1
1  1  1     1
1  1  1     1
1  1  1     3
4  1  1  1     1
1  1  0     1
1  1  0     1
1  1  0     3
4  1  1  0     1
1  1 -1     1
1  1 -1     1
1  1 -1     3
4  1  1 -1     1
1  0 -1     1
1  0 -1     1
1  0 -1     3
4  1  0 -1     1
1 -1 -1     1
1 -1 -1     1
1 -1 -1     3
4  1 -1 -1     1
1 -1  0     1
1 -1  0     1
1 -1  0     3
4  1 -1  0     1
1 -1  1     1
1 -1  1     1
1 -1  1     3
4  1 -1  1     1
1  0  1     1
1  0  1     1
1  0  1     3
4  1  0  1     1
1 -1  1     1
1 -1  1     1
1 -1  1     3
4  1  1  1     1
1  0  1     1
1  0  1     1
1  0  1     3
4  1  1  0     1
1  1  1     1
1  1  1     1
1  1  1     3
4  1  1 -1     1
1  1  0     1
1  1  0     1
1  1  0     3
4  1  0 -1     1
1  1 -1     1
1  1 -1     1
1  1 -1     3
4  1 -1 -1     1
1  0 -1     1
1  0 -1     1
1  0 -1     3
4  1 -1  0     1
1 -1 -1     1
1 -1 -1     1
1 -1 -1     3
4  1 -1  1     1
1 -1  0     1
1 -1  0     1
1 -1  0     3
4  1  0  1     1
1  0  1     1
1  1  1     1
1  0  1     3
4  1  1  1     1
1  1  1     1
1  1  0     1
1  1  1     3
4  1  1  0     1
1  1  0     1
1  1 -1     1
1  1  0     3
4  1  1 -1     1
1  1 -1     1
1  0 -1     1
1  1 -1     3
4  1  0 -1     1
1  0 -1     1
1 -1 -1     1
1  0 -1     3
4  1 -1 -1     1
1 -1 -1     1
1 -1  0     1
1 -1 -1     3
4  1 -1  0     1
1 -1  0     1
1 -1  1     1
1 -1  0     3
4  1 -1  1     1
1 -1  1     1
1  0  1     1
1 -1  1     3
4  1  0  1     1
1  0  1     1
1 -1  1     1
1  0  1     3
4  1  1  1     1
1  1  1     1
1  0  1     1
1  1  1     3
4  1  1  0     1
1  1  0     1
1  1  1     1
1  1  0     3
4  1  1 -1     1
1  1 -1     1
1  1  0     1
1  1 -1     3
4  1  0 -1     1
1  0 -1     1
1  1 -1     1
1  0 -1     3
4  1 -1 -1     1
1 -1 -1     1
1  0 -1     1
1 -1 -1     3
4  1 -1  0     1
1 -1  0     1
1 -1 -1     1
1 -1  0     3
4  1 -1  1     1
1 -1  1     1
1 -1  0     1
1 -1  1     3
4  1  0  1     1
1  1  1     1
1  0  1     1
1  0  1     3
4  1  1  1     1
1  1  0     1
1  1  1     1
1  1  1     3
4  1  1  0     1
1  1 -1     1
1  1  0     1
1  1  0     3
4  1  1 -1     1
1  0 -1     1
1  1 -1     1
1  1 -1     3
4  1  0 -1     1
1 -1 -1     1
1  0 -1     1
1  0 -1     3
4  1 -1 -1     1
1 -1  0     1
1 -1 -1     1
1 -1 -1     3
4  1 -1  0     1
1 -1  1     1
1 -1  0     1
1 -1  0     3
4  1 -1  1     1
1  0  1     1
1 -1  1     1
1 -1  1     3
4  1  0  1     1
1 -1  1     1
1  0  1     1
1  0  1     3
4  1  1  1     1
1  0  1     1
1  1  1     1
1  1  1     3
4  1  1  0     1
1  1  1     1
1  1  0     1
1  1  0     3
4  1  1 -1     1
1  1  0     1
1  1 -1     1
1  1 -1     3
4  1  0 -1     1
1  1 -1     1
1  0 -1     1
1  0 -1     3
4  1 -1 -1     1
1  0 -1     1
1 -1 -1     1
1 -1 -1     3
4  1 -1  0     1
1 -1 -1     1
1 -1  0     1
1 -1  0     3
4  1 -1  1     1
1 -1  0     1
1 -1  1     1
1 -1  1     3
1  1  2  2     1
1  1  2 -2     1
1  1 -2 -2     1
1  1 -2  2     1
0
1  1  0  1   16777219
0
1  1  0 -1   16777219
0
1  1  1  1     3
1  1  1 -1     3
1  1 -1 -1     3
1  1 -1  1     3
2  1  1  1    33
99  1  0     3
2  1  1 -1    33
99  0 -1     3
2  1 -1 -1    33
99 -1  0     3
2  1 -1  1    33
99  0  1     3
2  1  1  1    33
99  0  1     3
2  1  1 -1    33
99  1  0     3
2  1 -1 -1    33
99  0 -1     3
2  1 -1  1    33
99 -1  0     3
0
1  1  0  1     3
1  1  1  0     3
1  1  0 -1     3
1  1 -1  0     3
1  3  1  1     3
1  3  1 -1     3
1  3 -1 -1     3
1  3 -1  1     3
4  1  1  1     1
1  1  1     1
1  1  1    33
99  1  0     3
4  1  1 -1     1
1  1 -1     1
1  1 -1    33
99  0 -1     3
4  1 -1 -1     1
1 -1 -1     1
1 -1 -1    33
99 -1  0     3
4  1 -1  1     1
1 -1  1     1
1 -1  1    33
99  0  1     3
4  1  1  1     1
1  1  1     1
1  1  1    33
99  0  1     3
4  1  1 -1     1
1  1 -1     1
1  1 -1    33
99  1  0     3
4  1 -1 -1     1
1 -1 -1     1
1 -1 -1    33
99  0 -1     3
4  1 -1  1     1
1 -1  1     1
1 -1  1    33
99 -1  0     3
0
1 99  1  1     3
1 99  1 -1     3
1 99 -1 -1     3
1 99 -1  1     3
1 99  1  2     3
1 99  2  1     3
1 99  2 -1     3
1 99  1 -2     3
1 99 -1 -2     3
1 99 -2 -1     3
1 99 -2  1     3
1 99 -1  2     3
0
1  1  1  1     3
1  1  1 -1     3
1  1 -1 -1     3
1  1 -1  1     3
1  2  0  1     3
1  2  1  0     3
1  2  0 -1     3
1  2 -1  0     3
3  1  0  1     1
1  0  1    33
99  1  1     3
3  1  1  0     1
1  1  0    33
99  1 -1     3
3  1  0 -1     1
1  0 -1    33
99 -1 -1     3
3  1 -1  0     1
1 -1  0    33
99 -1  1     3
3  1  0  1     1
1  0  1    33
99 -1  1     3
3  1  1  0     1
1  1  0    33
99  1  1     3
3  1  0 -1     1
1  0 -1    33
99  1 -1     3
3  1 -1  0     1
1 -1  0    33
99 -1 -1     3
0)
   2 def P cond #0 1 11
   3 def p cond #0 27 37
   4 def X cond #0 53 68
   5 def x cond #0 74 89
   6 def K cond #0 95 135
   7 def k cond #0 95 135
   8 def R cond #0 208 0
   9 def r cond #0 208 0
  10 def Q cond #0 229 0
  11 def q cond #0 229 0
  12 def B cond #0 270 0
  13 def b cond #0 270 0
  14 def N cond #0 291 0
  15 def n cond #0 291 0
  16 def .JW cond #0 372 0
  17 def .jw cond #0 372 0
  18 def .ET cond #0 433 0
  19 def .et cond #0 433 0
  20 def C cond #0 494 0
  21 def c cond #0 494 0
  22 def NN cond #0 551 0
  23 def nn cond #0 551 0
  24 def .BJ cond #0 592 0
  25 def .bj cond #0 592 0
  26 def BI cond #0 653 0
  27 def bi cond #0 653 0
  28 def FO cond #0 1762 0
  29 def fo cond #0 1768 0
  30 def DR cond #0 1774 0
  31 def dr cond #0 1774 0
  32 def TB cond #0 1867 0
  33 def tb cond #0 1867 0
  34 def UN cond #0 2044 0
  35 def un cond #0 2044 0
  36 def FB cond #0 2105 0
  37 def fb cond #0 2105 0
  38 set extinction 1
  39 set partners (b2 k2 b13 k13)
  40 set promotables (P p)
  41 set supply (P p X x)
  42 set promotab (
(r q b n l e z y f j d t u i)
(p x r q b n l e z y f j d t u i)
(p x r b n l e z y f j)
(p x b n l e z)
0
0
0
0
0
0
(P X B N L E Z)
(P X R B N L E Z Y F J)
(P X R Q B N L E Z Y F J D T U I)
(R Q B N L E Z Y F J D T U I)
)
  43 set brouhaha (a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 a14 b14 c14 d14 e14 f14 g14 h14 i14 j14 k14 l14)
  44 set imitators (J j)
  45 include /membergraphics/MSplay-test-applet-for-chess-variants/shuffle.txt
  46 set shufflespecs (
(Q T U)
0
0
(D I)
0
0
0
)
  47 gosub ShuffleSetup
  48 sub postauto1
  49   gosub HandleMove false
  50 endsub
  51 sub postauto2
  52   gosub HandleMove true
  53 endsub
  54 gosub GameEnd true
  55 end
  56 
  57 lib /membergraphics/MSgame-code-generation/betza.txt
  58 if == thismove null
  59   say This rule-enforcing preset was created through the Play-Test Applet
  60 endif
  61 echo Please report any bugs or errors to H.G. Muller
  62 setsystem maxmove 4
  63 setsystem omitmoves 1
  64 ban commands
  65 allow pass 2 pass 3
  66 set pseudo 0
  67 set zonal 0
  68 set repeats 3
  69 set reploses 0
  70 set rulemoves 100
  71 set resetpieces (P p)
  72 set staledraw 1
  73 set checkrule 1
  74 set extinction 0
  75 set nullban 1
  76 set wroyal (K)
  77 set broyal (k)
  78 set iron array
  79 set protected array
  80 set restricted array
  81 set counterstrike array
  82 set negligible array
  83 set opaque array
  84 set brouhaha array
  85 set imitators array
  86 set inducers array
  87 set shooters array
  88 set morphers array
  89 set promotables array
  90 set inocheck (K k)
  91 set conversion array
  92 set method 1
  93 set dropdown 1
  94 set crappy 0
  95 set cap array
  96 set tempiron array
  97 set epsqrs 0
  98 set strike 0
  99 set traded 0
 100 set nopvc 0
 101 set toimitate p
 102 set lastfen 0
 103 set epmask 4
 104 set many ep 0 suicide 0 freedrop 0
 105 set converted 0
 106 set hist . "zzz," fencode
 107 def friends cond #0 (onlylower) (onlyupper)
 108 sub FastCastle start dx dy
 109   verify not flag #start
 110   my k r sqr cornr rook
 111   set r ray #start #dx #dy
 112   set k dec count #r
 113   set cornr elem #k #r
 114   set rook space #cornr
 115   verify != @ #rook and not flag #cornr
 116   do while #k
 117     dec k
 118     set sqr elem #k #r
 119     if == @ space #sqr
 120       if == 0 #k
 121         set realto #sqr
 122         set sqr #cornr
 123       endif
 124       gosub GotMove #start #sqr #cornr #start #rook 1
 125     endif
 126   loop
 127 endsub
 128 sub Promote player piece desti
 129   my choice r across
 130   verify mln
 131   set r rank #desti
 132   set across - lastrank * 2 #r
 133   if == #player < #across 0
 134     return
 135   endif
 136   if match #piece #promotables
 137     set choice elem #r #promotab
 138     if #choice
 139       if match self #choice
 140         push choice #piece
 141       endif
 142       set cap mergeall #cap #supply
 143       set choice intersection #cap #choice
 144     endif
 145   else
 146     set choice 0
 147   endif
 148   if #promo
 149     if not #choice
 150       die "You cannot promote on this move"
 151     elseif not match #promo #choice
 152       die "You cannot promote to such a piece"
 153     endif
 154   elseif #choice and not $answered
 155     askpromote #choice
 156   endif
 157 endsub
 158 sub GotMove orisqr destsqr locustsqr dropsqr unload implied
 159   if == 2 #zonal
 160     set k space #orisqr
 161     gosub GetMorph #k #destsqr
 162     verify != barred #k
 163   endif
 164   switch #task
 165     case 1
 166     set halfhit or #halfhit and #crappy and == #orisqr #ori == #locustsqr #desti
 167     verify == #orisqr #ori and == #destsqr #desti
 168     if == 1 #zonal
 169       verify not fn BadZone #orisqr #destsqr #locustsqr #dropsqr #unload
 170     endif
 171     if != 1 #implied
 172       if #firstpart
 173         set pseudohit + #pseudohit #crappy
 174         set autolocust #locustsqr
 175         set autodrop #dropsqr
 176         set dropped #unload
 177       endif
 178       if #sideeffect
 179         verify == #sideeffect #dropsqr
or == #sideeffect #locustsqr
 180         set suicide #locustsqr
 181         set freedrop #dropsqr
 182         set dropped #unload
 183       else
 184         verify == #locustsqr #suicide
 185         verify == #dropsqr #freedrop
 186         verify == #unload #dropped or not #dropsqr
 187       endif
 188     else
 189       verify not #suicide and not #freedrop
 190       if #locustsqr
 191         capture #locustsqr
 192         set imp 1
 193       endif
 194       set impliedkill #locustsqr
 195       set implieddrop #dropsqr
 196       set dropped #unload
 197     endif
 198     set neweps #eps
 199     set ep #destsqr
 200     set ok 1
 201     set desc #mv
 202     break
 203     case 2
 204     if == 1 #zonal
 205       verify not fn BadZone #orisqr #destsqr #locustsqr #dropsqr #unload
 206     endif
 207     if #locustsqr or #dropsqr and #dropdown and not #implied
 208       set m . space #orisqr . ws . #orisqr . chr 45 . #destsqr . chr 59 ws
 209       if #locustsqr
 210         set m . #m . "@-" #locustsqr
 211       elseif #dropsqr
 212         set m . #m . #unload . chr 45 #dropsqr
 213       endif
 214       push xtl #m
 215     else
 216       setlegal #orisqr #destsqr
 217     endif
 218     break
 219     case 9
 220     if == #locustsqr #kpos
 221       push checks #ss
 222       push checks #mv
 223       setelem #locustsqr 0 1
 224     endif
 225     break
 226     case 10
 227     case 7
 228     case 3
 229     set hit cond match space #destsqr #royal #orisqr #hit
 230     if != Xdummy space #locustsqr and #locustsqr
 231       set hit cond match space #locustsqr #royal Ughh #hit
 232     endif
 233     break
 234     case 12
 235     verify count var #orisqr
 236     case 11
 237     if & 1 elem 0 var #destsqr
and == #orisqr #kpos
 238       break
 239     endif
 240     case 4
 241     case 8
 242     if == 1 #zonal
 243       verify not fn BadZone #orisqr #destsqr #locustsqr #dropsqr #unload
 244     endif
 245     my victim locustvictim
 246     set victim space #destsqr
 247     set locustvictim space #locustsqr
 248     if #locustsqr
 249       empty #locustsqr
 250     endif
 251     move #orisqr #destsqr
 252     if #dropsqr
 253       add #unload #dropsqr
 254     endif
 255     dec task
 256     set hit 0
 257     if == 10 #task
 258       if #checked
 259         gosub GenAttacks checks
 260       endif
 261       gosub GenAttacks #orisqr
 262       gosub GenAttacks #destsqr
 263       if #locustsqr
 264         gosub GenAttacks #locustsqr
 265       endif
 266       if #dropsqr
 267         gosub GenAttacks #dropsqr
 268       endif
 269     else
 270       if #threat and != #threat Ughh
 271         set checker space #threat
 272         if cond #xside islower #checker isupper #checker
 273           gosub GenMoves #checker #threat 1
 274         endif
 275       endif
 276       if not #hit
 277         gosub GenAll #xside
 278       endif
 279     endif
 280     inc task
 281     move #destsqr #orisqr
 282     if != #dropsqr #orisqr and #dropsqr
 283       empty #dropsqr
 284     endif
 285     if #locustsqr
 286       add #locustvictim #locustsqr
 287     endif
 288     add #victim #destsqr
 289     if == 4 #task
 290       set threat #hit
 291       set hit not #hit
 292     elseif #hit
 293       set hit 0
 294     elseif #locustsqr or #dropsqr and #dropdown and not #implied
 295       set m . space #orisqr . ws . #orisqr . chr 45 . #destsqr . chr 59 ws
 296       if #locustsqr
 297         if match #mover #shooters
 298           set m . #m . "@-" #locustsqr
 299         else
 300           set m . space #orisqr . ws . #orisqr . chr 45 . #locustsqr . chr 59 ws
 301           set m . #m . space #orisqr . ws . #locustsqr . chr 45 #destsqr
 302         endif
 303       elseif #dropsqr
 304         set m . #m . #unload . chr 45 #dropsqr
 305       endif
 306       push xtl #m
 307     else
 308       setlegal #orisqr #destsqr
 309     endif
 310     break
 311     case 5
 312     verify == #locustsqr #desti
 313     setlegal #locustsqr #destsqr
 314     break
 315     case 6
 316     verify == #ori #orisqr and == #desti #destsqr
 317     if #dropsqr
 318       setlegal #desti #dropsqr
 319     elseif #locustsqr
 320       setlegal #desti #locustsqr
 321     endif
 322     break
 323     case 13
 324     verify not #dropsqr and #locustsqr or not empty #destsqr
 325     set hit 1
 326     break
 327   endswitch
 328 endsub
 329 sub NextLeg togo legindex startsqr cursqr locustsqr dropsqr iso
 330   my rng dx dy mode to tosqrs k len newindex hx hy side r fratricide stopper
 331   set rng elem #legindex #legdefs
 332   set dx elem + 1 #legindex #legdefs
 333   set dy elem + 2 #legindex #legdefs
 334   set mode elem + 3 #legindex #legdefs
 335   if & 64 #mode
 336     verify not flag #startsqr
 337     if match space #startsqr #inocheck
 338       verify != #task 11 or not #checked
 339       push eps #startsqr
 340     endif
 341   endif
 342   if > 0 #rng
 343     switch #rng
 344       case -1
 345       set rng cond < 0 #dy rank #cursqr - lastrank rank #cursqr
 346       set rng - >> lastrank 1 #rng
 347       set rng max 1 #rng
 348       set eps array
 349       set mode | << 1 23 #mode
 350       break
 351       case -2
 352       gosub GenMoves #toimitate #startsqr 1
 353       return
 354       case -3
 355       gosub #mode #startsqr #dx #dy
 356       return
 357     endswitch
 358   endif
 359   set tosqrs ride #cursqr #dx #dy
 360   set r count #tosqrs
 361   if not #r
 362     if & #mode << 1 27
 363       gosub GotMove #startsqr #cursqr #locustsqr #dropsqr 0 0
 364     else
 365       return
 366     endif
 367   endif
 368   set r min #rng #r
 369   if & 128 #mode
 370     set hx >> + 8 * 5 #dx 4
 371     set hy >> + 8 * 5 #dy 4
 372     set k ride #startsqr #hx #hy
 373     set len count #k
 374     set len * #len + abs #hx abs #hy
 375     set len / #len + abs #dx abs #dy
 376     if < #len #r
 377       set r #len
 378       if == 9 #task
 379         pop k to
 380         push #to #ss
 381         push #to #mv
 382       endif
 383     endif
 384     verify #len
 385     if & << 1 14 #mode
 386       set eps array
 387       set to where #cursqr #dx #dy
 388       set k #cursqr
 389       do while != #to #k and onboard #k
 390         set k where #k #hx #hy
 391         if != #k #to
 392           push eps #k
 393         endif
 394       loop
 395     endif
 396   endif
 397   dec togo
 398   if & << 1 21 #mode
 399     set dropsqr #cursqr
 400   endif
 401   if & << 1 15 #mode
 402     verify >= #r #iso
 403     set r #iso
 404   elseif < 1 #r
 405     if & 1 #mode
 406       set k 1
 407       do while < #k #r
 408         set to elem dec #k #tosqrs
 409         if #togo
 410           set newindex + 4 #legindex
 411           gosub NextLeg #togo #newindex #startsqr #to #locustsqr #dropsqr #k
 412         else
 413           gosub GotMove #startsqr #to #locustsqr #dropsqr 0 0
 414         endif
 415         if & << 1 23 #mode
 416           push eps #to
 417         endif
 418         inc k
 419         verify not #hit
 420       loop
 421     endif
 422     if & #epmask #mode
 423       set k 1
 424       do while < #k #r
 425         set to elem dec #k #tosqrs
 426         if match #to #epsqrs
 427           if #togo
 428             set newindex + 4 #legindex
 429             gosub NextLeg #togo #newindex #startsqr #to #ep #dropsqr #k
 430           else
 431             gosub GotMove #startsqr #to #ep #dropsqr 0 1
 432           endif
 433         endif
 434         inc k
 435       loop
 436     endif
 437     if & 18 #mode and == 9 #task
 438       set k 1
 439       do while < #k #r
 440         set to elem dec #k #tosqrs
 441         if #togo
 442           push #to #ss
 443           push #to #mv
 444         endif
 445         if & 2 #mode
 446           if #togo
 447             if == #to #kpos
 448               set newindex + 4 #legindex
 449               gosub NextLeg #togo #newindex #startsqr #to #to #dropsqr #k
 450             endif
 451           else
 452             setelem #to 0 | 1 elem 0 var #to
 453             if == #to #kpos
 454               push checks #ss
 455               push checks #mv
 456             endif
 457           endif
 458         endif
 459         inc k
 460       loop
 461     endif
 462   endif
 463   set len cond == 1 #rng #iso #r
 464   set to elem dec #r #tosqrs
 465   if == 9 #task
 466     if cond empty #to
(& 18 #mode and #togo)
(not & << 1 15 #mode and
!= #r #rng and
or & 2 #mode #togo or
and & 1 #mode
#togo)
 467       push #to #ss
 468       push #to #mv
 469     endif
 470     if & + 2 << 1 13 #mode and == #to #kpos
 471       if #togo
 472         set newindex + 4 #legindex
 473         gosub NextLeg #togo #newindex #startsqr #to #to #dropsqr #len
 474       else
 475         push checks #ss
 476         push checks #mv
 477       endif
 478     endif
 479     if & 2 #mode and not #togo
 480       setelem #to 0 | 1 elem 0 var #to
 481     endif
 482   endif
 483   if match #to #epsqrs and & #epmask #mode
 484     if #togo
 485       set newindex + 4 #legindex
 486       gosub NextLeg #togo #newindex #startsqr #to #ep #dropsqr #len
 487     else
 488       gosub GotMove #startsqr #to #ep 0 0 1
 489     endif
 490   endif
 491   set stopper cond != #to #startsqr space #to @
 492   if == @ #stopper
 493     verify & 1 #mode
 494   else
 495     if & 16 #mode
 496       if not match #stopper #opaque or
not match space #startsqr #opaque
 497         set newindex + 4 #legindex
 498         gosub NextLeg #togo #newindex #startsqr #to #locustsqr #dropsqr #len
 499       endif
 500     endif
 501     set side islower space #startsqr
 502     set fratricide cond #side islower #stopper isupper #stopper
 503     if #fratricide
 504       if & 8 #mode
 505         verify match #to #partners
 506         verify not flag #to
 507         set locustsqr #to
 508         set to where #startsqr elem + 5 #legindex #legdefs 0
 509         set dropsqr where #to - 0 #dx #dy
 510         set eps array
 511         set k #startsqr
 512         do while != #k #to
 513           push eps #k
 514           set k where #k #dx 0
 515         loop
 516         set realto #to
 517         gosub GotMove #startsqr #to #locustsqr #dropsqr #stopper 1
 518         return
 519       elseif & 2048 #mode
 520         if #togo
 521           set newindex + 4 #legindex
 522           gosub NextLeg #togo #newindex #to #to 0 0 #len
 523         elseif != #stopper space #startsqr
 524           gosub GenMoves #stopper #startsqr 1
 525         endif
 526       endif
 527       verify & 4096 #mode
 528     else
 529       verify match #stopper #royal and
& << 1 13 #mode or & 2 #mode
 530       verify not match #stopper #tempiron
 531     endif
 532     if #togo
 533       set locustsqr #to
 534     endif
 535   endif
 536   if #togo
 537     set newindex + 4 #legindex
 538     gosub NextLeg #togo #newindex #startsqr #to #locustsqr #dropsqr #len
 539   else
 540     gosub GotMove #startsqr #to #locustsqr #dropsqr #stopper 0
 541   endif
 542 endsub
 543 sub GenMoves piece sqr all
 544   my index legcount startindex
 545   set side islower #piece
 546   set ss #sqr
 547   set index fn #piece #all
 548   do
 549     set legcount elem #index #legdefs
 550     verify #legcount
 551     set mv #index
 552     inc index
 553     if flag #sqr or not match #piece #conversion
or not & cond #side #converted << #converted 2
+ 64 & 64 elem + 3 #index #legdefs
 554       set eps 0
 555       gosub NextLeg #legcount #index #sqr #sqr 0 0 1
 556     endif
 557     set index + #index * 4 #legcount
 558   loop until #hit
 559 endsub
 560 sub GenAttacks sqr
 561   my k n togo leg piece
 562   set k 1
 563   set n count var #sqr
 564   do while < #k #n
 565     set start elem #k var #sqr
 566     inc k
 567     set leg elem #k var #sqr
 568     inc k
 569     set piece space #start
 570     if not cond #xside
(islower #piece)
(isupper #piece)
 571       continue
 572     endif
 573     set togo elem #leg #legdefs
 574     inc leg
 575     gosub NextLeg #togo #leg #start #start 0 0 1
 576   loop
 577 endsub
 578 sub GenAll player
 579   my from piece
 580   set hit false
 581   for (from piece) fn friends #player
 582     gosub GenMoves #piece #from 1
 583     verify not #hit
 584   next
 585 endsub
 586 sub GetRoyals player
 587   my i nr type myroyal cnt
 588   set myroyal cond #player (#broyal) (#wroyal)
 589   set many i 0 nr 0 hit 0
 590   set royal array
 591   set troy array
 592   do while < #i count #myroyal
 593     set type elem #i #myroyal
 594     set cnt elem #type piececount
 595     if + 0 #cnt
 596       set nr + #nr #cnt
 597       push royal #type
 598       push troy #cnt
 599     endif
 600     inc i
 601   loop
 602   set dead count #royal and not #nr
 603   if < 1 #nr and #extinction
 604     set royal array
 605   endif
 606 endsub
 607 sub InCheck player
 608   GetRoyals #player
 609   set task 3
 610   verify count #royal
 611   if #traded
 612     add Xdummy #desti
 613     push royal Xdummy
 614   endif
 615   if count #epsqrs and
match space #ep #royal
 616     set epmask 6
 617   endif
 618   set player not #player
 619   gosub GenAll #player
 620   set epmask 4
 621   if #traded
 622     add #traded #desti
 623   endif
 624 endsub
 625 sub ParseMove player
 626   my i j parts sqrs sqr
 627   set many suicide 0 freedrop 0 promo 0 sideeffect 0
 628   set mvs explode chr 59 thismove
 629   set parts explode ws trim elem 0 #mvs
 630   set i count #parts
 631   if > #i 2
 632     die "move must be piece ID plus board step"
 633   endif
 634   set sqrs explode chr 45 trim elem dec #i #parts
 635   if != 2 count #sqrs
 636     if == resign thismove
 637       resign
 638     elseif == drawn thismove
 639       drawn
 640     endif
 641     die "board step does not mention two squares"
 642   endif
 643   set ori elem 0 #sqrs
 644   set desti elem 1 #sqrs
 645   if not onboard #desti
 646     set msg join #desti " is not a valid square"
 647     die #msg
 648   endif
 649   if not onboard #ori
 650     set msg join #ori " is not a valid square"
 651     die #msg
 652   endif
 653   set mover space #ori
 654   if not cond #player islower #mover isupper #mover
 655     set msg cond == @ #mover (. #ori " is empty")
("you cannot move opponent pieces")
 656     die #msg
 657   endif
 658   set firstpart 1
 659   set j 1
 660   do while < #j count #mvs
 661     set parts trim elem #j #mvs
 662     if == "pass" #parts or == "skip" #parts
 663       set firstpart 0
 664       inc j
 665       continue
 666     endif
 667     set parts explode ws trim #parts
 668     set i dec count #parts
 669     set sqrs explode chr 45 trim elem #i #parts
 670     if != 2 count #sqrs
 671       set msg join elem #i #parts " is malformed"
 672       die #msg
 673     endif
 674     set sqr elem 1 #sqrs
 675     set sqr cond == "dest" #sqr #desti #sqr
 676     if not onboard #sqr
 677       set msg join #sqr " is not a valid square"
 678       die #msg
 679     elseif onboard elem 0 #sqrs
 680       if != #desti elem 0 #sqrs
 681         die "you can only continue with same piece"
 682       endif
 683       set firstpart 0
 684       if match #mover #shooters
 685         set sideeffect #sqr
 686         return
 687       endif
 688       if #suicide
 689         die "cannot have more than one locust victim"
 690       endif
 691       set suicide #desti
 692       set desti #sqr
 693     elseif == #desti #sqr
 694       set promo elem 0 #sqrs
 695     elseif == @ elem 0 #sqrs
 696       if empty #sqr
 697         set msg . "there is nothing on " . #sqr " to capture"
 698         die #msg
 699       endif
 700       if #suicide
 701         die "cannot have more than one locust victim"
 702       endif
 703       set suicide #sqr
 704       set firstpart 0
 705     else
 706       if #freedrop
 707         die "cannot kick more than one piece"
 708       endif
 709       set dropped elem 0 #sqrs
 710       set freedrop #sqr
 711       set firstpart 0
 712     endif
 713     inc j
 714   loop
 715 endsub
 716 sub HandleMove player
 717   set stm #player
 718   gosub ParseMove #player
 719   set all == mln $maxmln
 720   set many ok 0 hit 0 task 1 halfhit 0 implieddrop 0 imp 0 neweps 0
 721   set pseudohit 0
 722   set realto 0
 723   set k #all or not flag #ori and match #mover #conversion
 724   gosub GenMoves #mover #ori #k
 725   if not match #mover #shooters
and #firstpart and #halfhit
 726     set ok 2
 727     set task 5
 728     gosub GenMoves #mover #ori 1
 729     set msg . "Enter second leg or pass"
 730     remind #msg
 731   elseif #all
 732     set cap unique keys capturedpieces
 733     set lastfen fencode
 734     if not #ok
 735       set pseudohit 0
 736       gosub GenAll #player
 737     endif
 738     if #sideeffect
 739       rewritemove . elem 0 #mvs . "; " . cond #freedrop #dropped @ . chr 45 #sideeffect
 740       set sideeffect 0
 741       gosub ParseMove #player
 742     endif
 743     if match #mover #shooters and < 1 #pseudohit
 744       set ok 2
 745       set task 6
 746       gosub GenAll #player
 747       if #hit
 748         set msg . "Type side effect of move, or pass"
 749       else
 750         set msg . "Type side effect of move"
 751       endif
 752       remind #msg
 753     elseif not #ok
 754       if == 1 #pseudohit
 755         if #autolocust
 756           appendmove join "@-" #autolocust
 757         endif
 758         if #autodrop
 759           appendmove join #dropped join chr 45 #autodrop
 760         endif
 761         gosub ParseMove #player
 762       elseif #pseudohit
 763         set msg . "Type side effects of move"
 764         remind #msg
 765         continuemove
 766         return
 767       else
 768         set msg . thismove . " is not even pseudo-legal for a " toupper #mover
 769         die #msg
 770       endif
 771     endif
 772   endif
 773   set victim cond != #desti #ori space #desti @
 774   set traded cond and or match space #suicide #negligible
not #suicide
and match #victim #protected
match #mover #restricted #mover 0
 775   set strike and match #victim #counterstrike
not match #mover #counterstrike
 776   set k 0
 777   do while < var k count var mvs
 778     eval join "MOVE: " trim elem var k var mvs
 779     inc k
 780   loop
 781   if != #ori #freedrop and match #ori #brouhaha
 782     delete #ori
 783   endif
 784   if #implieddrop
 785     add #dropped #implieddrop
 786     if == #desti #impliedkill
 787       move #desti #realto
 788     endif
 789   endif
 790   set tempiron #iron
 791   if #strike
 792     set tempiron mergeall #tempiron #counterstrike
 793   endif
 794   set toimitate flipcase cond match #mover #imitators #toimitate #mover
 795   setflag #desti
 796   set posvar join cond #player "w" "b" fencode
 797   inc #posvar
 798   inc nopvc
 799   if #imp
 800     set hist . #hist . "," mln
 801   endif
 802   if #suicide and not #freedrop or #promo
or != @ #victim or match #mover #resetpieces
 803     set nopvc 0
 804   endif
 805   set epsqrs #neweps
 806   if not flag #ori and match #mover #conversion
 807     set k + 64 & 64 elem + 4 #desc #legdefs
 808     set k cond #player #k >> #k 2
 809     if & #k #converted
 810       die This move violates the conversion rule that applies to this piece.
 811     endif
 812     set converted + #converted #k
 813   endif
 814   gosub GetMorph #mover #desti
 815   if #k
 816     add #k #desti
 817   endif
 818 endsub
 819 sub GetMorph piece sqr
 820   set k 0
 821   if match #piece #morphers
 822     set i elem #piece #morphs
 823     set j rank #sqr
 824     if not islower #piece
 825       set j - lastrank #j
 826     endif
 827     if >= #j count #i
 828       return
 829     endif
 830     set i elem #j #i
 831     if #i
 832       if == All elem 0 #i
 833         set k elem 1 #i
 834       else
 835         set k elem file #sqr #i
 836       endif
 837     endif
 838   endif
 839 endsub
 840 sub GameEnd player
 841   my side
 842   if == 2 #ok
 843     continuemove
 844     return
 845   endif
 846   set side not #player
 847   gosub GetRoyals #side
 848   if #dead
 849     set msg join cond #player "White" "Black" " lost by absence of royalty!"
 850     say #msg
 851     won
 852   elseif == #lastfen fencode and #nullban
 853     die "This is a null move!"
 854   endif
 855   gosub InCheck #player
 856   if == #hit Xdummy
 857     die "Trading of this piece is not allowed"
 858   elseif #checkrule and #hit
 859     if == #hit Ughh
 860       die "That moves through or out of check"
 861     else
 862       die "This exposes your royal piece to capture"
 863     endif
 864   endif
 865   if >= 1 count fn friends #player and #baring
 866     if >= 1 count fn friends #side
 867       say Draw by mutual baring
 868       drawn
 869     else
 870       set msg . cond #player "Black" "White" " loses by baring"
 871       say #msg
 872       lost
 873     endif
 874     return
 875   endif
 876   gosub Promote #player #mover #desti
 877   gosub GetRoyals #side
 878   if count #royal
and #checkrule
 879     set task 4
 880     set xside #player
 881     set threat 0
 882     gosub GenAll #side
 883     if not #hit
 884       if #staledraw
 885         dec task
 886         gosub GenAll #player
 887         if #hit
 888           say Checkmate!
 889           won
 890         else
 891           say Stalemate!
 892           drawn
 893         endif
 894       else
 895         say Mate!
 896         won
 897       endif
 898       return
 899     endif
 900   endif
 901   set posvar join cond #player "w" "b" fencode
 902   if >= var #posvar #repeats
 903     if #reploses
 904       set msg join cond #player "Black" "White" " loses by repetition!"
 905       say #msg
 906       lost
 907     else
 908       say "Draw by repetition!"
 909       drawn
 910     endif
 911   elseif >= #nopvc #rulemoves
 912     say "Game declared draw due to prolongued lack of progress!"
 913     drawn
 914   endif
 915   set ltst #checkrule and count #royal and not #pseudo
 916   set xtl array
 917   if == 1 #method and #ltst
 918     for sqr spaces
 919       set #sqr array 0
 920     next
 921     set task 9
 922     set king elem 0 #royal
 923     set kpos search #king $space
 924     empty #kpos
 925     set checks array 0
 926     gosub GenAll #player
 927     add #king #kpos
 928     set checked & 1 elem 0 var #kpos
 929     if #checked
 930       say "check!"
 931     endif
 932     set task 11
 933     gosub GenAll #side
 934   else
 935     set task cond #ltst 8 2
 936     gosub GenAll #side
 937   endif
 938   setjsvar impmoves #hist
 939   setsystem legalmoves merge $legalmoves #xtl
 940 endsub
 941 set posvar join "w" fencode
 942 inc #posvar
 943 endlib
 944 lib /membergraphics/MSplay-test-applet-for-chess-variants/shuffle.txt
 945 sub GetSquares toshuffle
 946   my sqr piece
 947   set left array
 948   set light array
 949   set dark array
 950   for (sqr piece) $space
 951     if match var piece #toshuffle
 952       if < * 2 file #sqr lastfile
 953         push left #sqr
 954       endif
 955       if & 1 + file #sqr rank #sqr
 956         push dark #sqr
 957       else
 958         push light #sqr
 959       endif
 960     endif
 961   next
 962 endsub
 963 sub ShuffleWings sym others
 964   my toshuffle sqr piece rsqr p s allsqrs
 965   set toshuffle mergeall #sym #others
 966   gosub GetSquares #toshuffle
 967   verify < 1 count #left
 968   set allsqrs mergeall #dark #light
 969   eval merge #left "shuffle"
 970   for sqr #left
 971     set piece space #sqr
 972     if match #piece #sym
 973       set rsqr join chr + 97 - lastfile file #sqr substr #sqr 1 0
 974       verify match #rsqr #allsqrs
 975       set p space #rsqr
 976       if != #p #piece
 977         for s #allsqrs
 978           if not match #s #left
and == #piece space #s
 979             swap #s #rsqr
 980             break
 981           endif
 982         next
 983       endif
 984     endif
 985   next
 986   gosub GetSquares #others
 987   set dark mergeall #dark #light
 988   eval merge #dark "shuffle"
 989 endsub
 990 sub ShuffleOne shaded others
 991   my toshuffle
 992   set toshuffle mergeall #shaded #others
 993   gosub GetSquares #toshuffle
 994   if count #shaded
 995     eval merge #light "shuffle"
 996     eval merge #dark "shuffle"
 997     gosub GetSquares #others
 998   endif
 999   set dark mergeall #dark #light
1000   eval merge #dark "shuffle"
1001 endsub
1002 sub CenterKing types
1003   verify count #types
1004   my mid s royal right
1005   gosub GetSquares #types
1006   set dark sort merge #dark #light
1007   set royal elem 0 #types
1008   pop dark right
1009   pop dark mid
1010   pop dark left
1011   if != #royal space #mid
1012     set s cond == #royal space #left #left #right
1013     swap #s #mid
1014   endif
1015 endsub
1016 sub Symmetrize
1017   my sqr piece
1018   for (sqr piece) onlyupper
1019     set s join substr #sqr 0 1 + - 1 rank "a1" - lastrank rank #sqr
1020     copy #sqr #s
1021     flip #s
1022   next
1023 endsub
1024 sub ShuffleOnePlayer otherset symset shadeset
1025   if count #symset
1026     gosub ShuffleWings #symset #otherset
1027   else
1028     gosub ShuffleOne #shadeset #otherset
1029   endif
1030 endsub
1031 set shaded array
1032 set symmetrized array
1033 set centralize array
1034 set blackset array
1035 set blacksym array
1036 set blackshaded array
1037 set shufflespecs 0
1038 sub ShuffleSetup
1039   if isconst startshuffle
1040     setsystem space @startshuffle
1041   else
1042     if #shufflespecs
1043       my i a b c
1044       set i 0
1045       do while < #i count #shufflespecs
1046         set a elem #i #shufflespecs
1047         if not #a
1048           gosub Symmetrize
1049           break
1050         endif
1051         set b elem inc #i #shufflespecs
1052         set c elem + 2 #i #shufflespecs
1053         if not #b
1054           set b array
1055         endif
1056         if not #c
1057           set c array
1058         endif
1059         gosub ShuffleOnePlayer #a #b #c
1060         set i + 3 #i
1061       loop
1062     else
1063       gosub ShuffleOnePlayer #shuffleset #symmetrized #shaded
1064       if count #blackset
1065         gosub ShuffleOnePlayer #blackset #blacksym #blackshaded
1066       else
1067         gosub CenterKing #centralize
1068         gosub Symmetrize
1069       endif
1070     endif
1071     setconst startshuffle $space
1072   endif
1073 endsub
1074 endlib

functions

Array ( [friends] => Array ( [0] => cond [1] => #0 [2] => Array ( [0] => onlylower ) [3] => Array ( [0] => onlyupper ) ) [P] => Array ( [0] => cond [1] => #0 [2] => 1 [3] => 11 ) [p] => Array ( [0] => cond [1] => #0 [2] => 27 [3] => 37 ) [X] => Array ( [0] => cond [1] => #0 [2] => 53 [3] => 68 ) [x] => Array ( [0] => cond [1] => #0 [2] => 74 [3] => 89 ) [K] => Array ( [0] => cond [1] => #0 [2] => 95 [3] => 135 ) [k] => Array ( [0] => cond [1] => #0 [2] => 95 [3] => 135 ) [R] => Array ( [0] => cond [1] => #0 [2] => 208 [3] => 0 ) [r] => Array ( [0] => cond [1] => #0 [2] => 208 [3] => 0 ) [Q] => Array ( [0] => cond [1] => #0 [2] => 229 [3] => 0 ) [q] => Array ( [0] => cond [1] => #0 [2] => 229 [3] => 0 ) [B] => Array ( [0] => cond [1] => #0 [2] => 270 [3] => 0 ) [b] => Array ( [0] => cond [1] => #0 [2] => 270 [3] => 0 ) [N] => Array ( [0] => cond [1] => #0 [2] => 291 [3] => 0 ) [n] => Array ( [0] => cond [1] => #0 [2] => 291 [3] => 0 ) [.JW] => Array ( [0] => cond [1] => #0 [2] => 372 [3] => 0 ) [.jw] => Array ( [0] => cond [1] => #0 [2] => 372 [3] => 0 ) [.ET] => Array ( [0] => cond [1] => #0 [2] => 433 [3] => 0 ) [.et] => Array ( [0] => cond [1] => #0 [2] => 433 [3] => 0 ) [C] => Array ( [0] => cond [1] => #0 [2] => 494 [3] => 0 ) [c] => Array ( [0] => cond [1] => #0 [2] => 494 [3] => 0 ) [NN] => Array ( [0] => cond [1] => #0 [2] => 551 [3] => 0 ) [nn] => Array ( [0] => cond [1] => #0 [2] => 551 [3] => 0 ) [.BJ] => Array ( [0] => cond [1] => #0 [2] => 592 [3] => 0 ) [.bj] => Array ( [0] => cond [1] => #0 [2] => 592 [3] => 0 ) [BI] => Array ( [0] => cond [1] => #0 [2] => 653 [3] => 0 ) [bi] => Array ( [0] => cond [1] => #0 [2] => 653 [3] => 0 ) [FO] => Array ( [0] => cond [1] => #0 [2] => 1762 [3] => 0 ) [fo] => Array ( [0] => cond [1] => #0 [2] => 1768 [3] => 0 ) [DR] => Array ( [0] => cond [1] => #0 [2] => 1774 [3] => 0 ) [dr] => Array ( [0] => cond [1] => #0 [2] => 1774 [3] => 0 ) [TB] => Array ( [0] => cond [1] => #0 [2] => 1867 [3] => 0 ) [tb] => Array ( [0] => cond [1] => #0 [2] => 1867 [3] => 0 ) [UN] => Array ( [0] => cond [1] => #0 [2] => 2044 [3] => 0 ) [un] => Array ( [0] => cond [1] => #0 [2] => 2044 [3] => 0 ) [FB] => Array ( [0] => cond [1] => #0 [2] => 2105 [3] => 0 ) [fb] => Array ( [0] => cond [1] => #0 [2] => 2105 [3] => 0 ) )

uservar

Array ( [0] => Array ( [main] => Array ( [pseudo] => 0 [zonal] => 0 [repeats] => 3 [reploses] => 0 [rulemoves] => 100 [resetpieces] => Array ( [0] => P [1] => p ) [staledraw] => 1 [checkrule] => 1 [extinction] => 1 [nullban] => 1 [wroyal] => Array ( [0] => K ) [broyal] => Array ( [0] => k ) [iron] => Array ( ) [protected] => Array ( ) [restricted] => Array ( ) [counterstrike] => Array ( ) [negligible] => Array ( ) [opaque] => Array ( ) [brouhaha] => Array ( [0] => a1 [1] => b1 [2] => c1 [3] => d1 [4] => e1 [5] => f1 [6] => g1 [7] => h1 [8] => i1 [9] => j1 [10] => k1 [11] => l1 [12] => a14 [13] => b14 [14] => c14 [15] => d14 [16] => e14 [17] => f14 [18] => g14 [19] => h14 [20] => i14 [21] => j14 [22] => k14 [23] => l14 ) [imitators] => Array ( [0] => J [1] => j ) [inducers] => Array ( ) [shooters] => Array ( ) [morphers] => Array ( ) [promotables] => Array ( [0] => P [1] => p ) [inocheck] => Array ( [0] => K [1] => k ) [conversion] => Array ( ) [method] => 1 [dropdown] => 1 [crappy] => 0 [cap] => Array ( ) [tempiron] => Array ( ) [epsqrs] => 0 [strike] => 0 [traded] => 0 [nopvc] => 0 [toimitate] => p [lastfen] => 0 [epmask] => 4 [ep] => 0 [suicide] => 0 [freedrop] => 0 [converted] => 0 [hist] => zzz,----{fo}{.bj}{.bj}{fo}----cr{nn}{.jw}{un}qk{tb}{.jw}{nn}rcr{bi}{.et}nb{dr}{fb}bn{.et}{bi}rxppppppppppx2x2pp2x52X2PP2X2XPPPPPPPPPPXR{BI}{.ET}NB{DR}{FB}BN{.ET}{BI}RCR{NN}{.JW}{UN}QK{TB}{.JW}{NN}RC----{FO}{.BJ}{.BJ}{FO}---- [posvar] => w----{fo}{.bj}{.bj}{fo}----cr{nn}{.jw}{un}qk{tb}{.jw}{nn}rcr{bi}{.et}nb{dr}{fb}bn{.et}{bi}rxppppppppppx2x2pp2x52X2PP2X2XPPPPPPPPPPXR{BI}{.ET}NB{DR}{FB}BN{.ET}{BI}RCR{NN}{.JW}{UN}QK{TB}{.JW}{NN}RC----{FO}{.BJ}{.BJ}{FO}---- [w----{fo}{] => Array ( [bj}{] => Array ( [bj}{fo}----cr{nn}{] => Array ( [jw}{un}qk{tb}{] => Array ( [jw}{nn}rcr{bi}{] => Array ( [et}nb{dr}{fb}bn{] => Array ( [et}{bi}rxppppppppppx2x2pp2x52X2PP2X2XPPPPPPPPPPXR{BI}{] => Array ( [ET}NB{DR}{FB}BN{] => Array ( [ET}{BI}RCR{NN}{] => Array ( [JW}{UN}QK{TB}{] => Array ( [JW}{NN}RC----{FO}{] => Array ( [BJ}{] => Array ( [BJ}{FO}----] => 1 ) ) ) ) ) ) ) ) ) ) ) ) [legdefs] => Array ( [0] => 0 [1] => 1 [2] => 1 [3] => 1 [4] => 1 [5] => 2 [6] => 1 [7] => 1 [8] => -1 [9] => 1 [10] => 2 [11] => 1 [12] => -1 [13] => 0 [14] => 1 [15] => 8388609 [16] => 1 [17] => 1 [18] => 1 [19] => 1 [20] => 4 [21] => 1 [22] => 1 [23] => -1 [24] => 1 [25] => 4 [26] => 0 [27] => 1 [28] => 1 [29] => -1 [30] => -1 [31] => 2 [32] => 1 [33] => 1 [34] => 1 [35] => -1 [36] => 2 [37] => 1 [38] => -1 [39] => 0 [40] => -1 [41] => 8388609 [42] => 1 [43] => 1 [44] => -1 [45] => -1 [46] => 4 [47] => 1 [48] => 1 [49] => 1 [50] => -1 [51] => 4 [52] => 0 [53] => 1 [54] => -1 [55] => 1 [56] => 1 [57] => 1 [58] => 1 [59] => -1 [60] => -1 [61] => 1 [62] => 1 [63] => 1 [64] => 1 [65] => 0 [66] => 1 [67] => 2 [68] => 1 [69] => 1 [70] => 0 [71] => 1 [72] => 4 [73] => 0 [74] => 1 [75] => -1 [76] => -1 [77] => -1 [78] => 1 [79] => 1 [80] => -1 [81] => 1 [82] => -1 [83] => 1 [84] => 1 [85] => 1 [86] => 0 [87] => -1 [88] => 2 [89] => 1 [90] => 1 [91] => 0 [92] => -1 [93] => 4 [94] => 0 [95] => 1 [96] => 1 [97] => 0 [98] => 1 [99] => 3 [100] => 1 [101] => 1 [102] => 1 [103] => 1 [104] => 3 [105] => 1 [106] => 1 [107] => 1 [108] => 0 [109] => 3 [110] => 1 [111] => 1 [112] => 1 [113] => -1 [114] => 3 [115] => 1 [116] => 1 [117] => 0 [118] => -1 [119] => 3 [120] => 1 [121] => 1 [122] => -1 [123] => -1 [124] => 3 [125] => 1 [126] => 1 [127] => -1 [128] => 0 [129] => 3 [130] => 1 [131] => 1 [132] => -1 [133] => 1 [134] => 3 [135] => 2 [136] => 99 [137] => 1 [138] => 0 [139] => 72 [140] => 1 [141] => 3 [142] => 0 [143] => 9 [144] => 2 [145] => 99 [146] => -1 [147] => 0 [148] => 72 [149] => 1 [150] => -3 [151] => 0 [152] => 9 [153] => 2 [154] => 99 [155] => 1 [156] => 0 [157] => 72 [158] => 1 [159] => 4 [160] => 0 [161] => 9 [162] => 2 [163] => 99 [164] => -1 [165] => 0 [166] => 72 [167] => 1 [168] => -4 [169] => 0 [170] => 9 [171] => 2 [172] => 99 [173] => 1 [174] => 0 [175] => 33554504 [176] => 1 [177] => 2 [178] => 0 [179] => 9 [180] => 2 [181] => 99 [182] => -1 [183] => 0 [184] => 33554504 [185] => 1 [186] => -2 [187] => 0 [188] => 9 [189] => 2 [190] => 99 [191] => 1 [192] => 0 [193] => 33554504 [194] => 1 [195] => 3 [196] => 0 [197] => 9 [198] => 2 [199] => 99 [200] => -1 [201] => 0 [202] => 33554504 [203] => 1 [204] => -3 [205] => 0 [206] => 9 [207] => 0 [208] => 1 [209] => 99 [210] => 0 [211] => 1 [212] => 3 [213] => 1 [214] => 99 [215] => 1 [216] => 0 [217] => 3 [218] => 1 [219] => 99 [220] => 0 [221] => -1 [222] => 3 [223] => 1 [224] => 99 [225] => -1 [226] => 0 [227] => 3 [228] => 0 [229] => 1 [230] => 99 [231] => 0 [232] => 1 [233] => 3 [234] => 1 [235] => 99 [236] => 1 [237] => 1 [238] => 3 [239] => 1 [240] => 99 [241] => 1 [242] => 0 [243] => 3 [244] => 1 [245] => 99 [246] => 1 [247] => -1 [248] => 3 [249] => 1 [250] => 99 [251] => 0 [252] => -1 [253] => 3 [254] => 1 [255] => 99 [256] => -1 [257] => -1 [258] => 3 [259] => 1 [260] => 99 [261] => -1 [262] => 0 [263] => 3 [264] => 1 [265] => 99 [266] => -1 [267] => 1 [268] => 3 [269] => 0 [270] => 1 [271] => 99 [272] => 1 [273] => 1 [274] => 3 [275] => 1 [276] => 99 [277] => 1 [278] => -1 [279] => 3 [280] => 1 [281] => 99 [282] => -1 [283] => -1 [284] => 3 [285] => 1 [286] => 99 [287] => -1 [288] => 1 [289] => 3 [290] => 0 [291] => 1 [292] => 1 [293] => 1 [294] => 2 [295] => 3 [296] => 1 [297] => 1 [298] => 2 [299] => 1 [300] => 3 [301] => 1 [302] => 1 [303] => 2 [304] => -1 [305] => 3 [306] => 1 [307] => 1 [308] => 1 [309] => -2 [310] => 3 [311] => 1 [312] => 1 [313] => -1 [314] => -2 [315] => 3 [316] => 1 [317] => 1 [318] => -2 [319] => -1 [320] => 3 [321] => 1 [322] => 1 [323] => -2 [324] => 1 [325] => 3 [326] => 1 [327] => 1 [328] => -1 [329] => 2 [330] => 3 [331] => 1 [332] => 1 [333] => 2 [334] => 3 [335] => 1 [336] => 1 [337] => 1 [338] => 3 [339] => 2 [340] => 1 [341] => 1 [342] => 1 [343] => 3 [344] => -2 [345] => 1 [346] => 1 [347] => 1 [348] => 2 [349] => -3 [350] => 1 [351] => 1 [352] => 1 [353] => -2 [354] => -3 [355] => 1 [356] => 1 [357] => 1 [358] => -3 [359] => -2 [360] => 1 [361] => 1 [362] => 1 [363] => -3 [364] => 2 [365] => 1 [366] => 1 [367] => 1 [368] => -2 [369] => 3 [370] => 1 [371] => 0 [372] => 1 [373] => 1 [374] => 0 [375] => 1 [376] => 3 [377] => 1 [378] => 1 [379] => 1 [380] => 0 [381] => 3 [382] => 1 [383] => 1 [384] => 0 [385] => -1 [386] => 3 [387] => 1 [388] => 1 [389] => -1 [390] => 0 [391] => 3 [392] => 1 [393] => 1 [394] => 1 [395] => 3 [396] => 3 [397] => 1 [398] => 1 [399] => 3 [400] => 1 [401] => 3 [402] => 1 [403] => 1 [404] => 3 [405] => -1 [406] => 3 [407] => 1 [408] => 1 [409] => 1 [410] => -3 [411] => 3 [412] => 1 [413] => 1 [414] => -1 [415] => -3 [416] => 3 [417] => 1 [418] => 1 [419] => -3 [420] => -1 [421] => 3 [422] => 1 [423] => 1 [424] => -3 [425] => 1 [426] => 3 [427] => 1 [428] => 1 [429] => -1 [430] => 3 [431] => 3 [432] => 0 [433] => 1 [434] => 1 [435] => 1 [436] => 1 [437] => 3 [438] => 1 [439] => 1 [440] => 1 [441] => -1 [442] => 3 [443] => 1 [444] => 1 [445] => -1 [446] => -1 [447] => 3 [448] => 1 [449] => 1 [450] => -1 [451] => 1 [452] => 3 [453] => 1 [454] => 1 [455] => 2 [456] => 2 [457] => 3 [458] => 1 [459] => 1 [460] => 2 [461] => -2 [462] => 3 [463] => 1 [464] => 1 [465] => -2 [466] => -2 [467] => 3 [468] => 1 [469] => 1 [470] => -2 [471] => 2 [472] => 3 [473] => 1 [474] => 1 [475] => 0 [476] => 3 [477] => 3 [478] => 1 [479] => 1 [480] => 3 [481] => 0 [482] => 3 [483] => 1 [484] => 1 [485] => 0 [486] => -3 [487] => 3 [488] => 1 [489] => 1 [490] => -3 [491] => 0 [492] => 3 [493] => 0 [494] => 1 [495] => 99 [496] => 0 [497] => 1 [498] => 1 [499] => 1 [500] => 99 [501] => 1 [502] => 0 [503] => 1 [504] => 1 [505] => 99 [506] => 0 [507] => -1 [508] => 1 [509] => 1 [510] => 99 [511] => -1 [512] => 0 [513] => 1 [514] => 2 [515] => 99 [516] => 0 [517] => 1 [518] => 16 [519] => 99 [520] => 0 [521] => 1 [522] => 2 [523] => 2 [524] => 99 [525] => 1 [526] => 0 [527] => 16 [528] => 99 [529] => 1 [530] => 0 [531] => 2 [532] => 2 [533] => 99 [534] => 0 [535] => -1 [536] => 16 [537] => 99 [538] => 0 [539] => -1 [540] => 2 [541] => 2 [542] => 99 [543] => -1 [544] => 0 [545] => 16 [546] => 99 [547] => -1 [548] => 0 [549] => 2 [550] => 0 [551] => 1 [552] => 99 [553] => 1 [554] => 2 [555] => 3 [556] => 1 [557] => 99 [558] => 2 [559] => 1 [560] => 3 [561] => 1 [562] => 99 [563] => 2 [564] => -1 [565] => 3 [566] => 1 [567] => 99 [568] => 1 [569] => -2 [570] => 3 [571] => 1 [572] => 99 [573] => -1 [574] => -2 [575] => 3 [576] => 1 [577] => 99 [578] => -2 [579] => -1 [580] => 3 [581] => 1 [582] => 99 [583] => -2 [584] => 1 [585] => 3 [586] => 1 [587] => 99 [588] => -1 [589] => 2 [590] => 3 [591] => 0 [592] => 1 [593] => 99 [594] => 1 [595] => 1 [596] => 3 [597] => 1 [598] => 99 [599] => 1 [600] => -1 [601] => 3 [602] => 1 [603] => 99 [604] => -1 [605] => -1 [606] => 3 [607] => 1 [608] => 99 [609] => -1 [610] => 1 [611] => 3 [612] => 1 [613] => 1 [614] => 1 [615] => 3 [616] => 3 [617] => 1 [618] => 1 [619] => 3 [620] => 1 [621] => 3 [622] => 1 [623] => 1 [624] => 3 [625] => -1 [626] => 3 [627] => 1 [628] => 1 [629] => 1 [630] => -3 [631] => 3 [632] => 1 [633] => 1 [634] => -1 [635] => -3 [636] => 3 [637] => 1 [638] => 1 [639] => -3 [640] => -1 [641] => 3 [642] => 1 [643] => 1 [644] => -3 [645] => 1 [646] => 3 [647] => 1 [648] => 1 [649] => -1 [650] => 3 [651] => 3 [652] => 0 [653] => 4 [654] => 1 [655] => 0 [656] => 1 [657] => 1 [658] => 1 [659] => 0 [660] => 1 [661] => 1 [662] => 1 [663] => 0 [664] => 1 [665] => 1 [666] => 1 [667] => 1 [668] => 1 [669] => 3 [670] => 4 [671] => 1 [672] => 1 [673] => 1 [674] => 1 [675] => 1 [676] => 1 [677] => 1 [678] => 1 [679] => 1 [680] => 1 [681] => 1 [682] => 1 [683] => 1 [684] => 1 [685] => 0 [686] => 3 [687] => 4 [688] => 1 [689] => 1 [690] => 0 [691] => 1 [692] => 1 [693] => 1 [694] => 0 [695] => 1 [696] => 1 [697] => 1 [698] => 0 [699] => 1 [700] => 1 [701] => 1 [702] => -1 [703] => 3 [704] => 4 [705] => 1 [706] => 1 [707] => -1 [708] => 1 [709] => 1 [710] => 1 [711] => -1 [712] => 1 [713] => 1 [714] => 1 [715] => -1 [716] => 1 [717] => 1 [718] => 0 [719] => -1 [720] => 3 [721] => 4 [722] => 1 [723] => 0 [724] => -1 [725] => 1 [726] => 1 [727] => 0 [728] => -1 [729] => 1 [730] => 1 [731] => 0 [732] => -1 [733] => 1 [734] => 1 [735] => -1 [736] => -1 [737] => 3 [738] => 4 [739] => 1 [740] => -1 [741] => -1 [742] => 1 [743] => 1 [744] => -1 [745] => -1 [746] => 1 [747] => 1 [748] => -1 [749] => -1 [750] => 1 [751] => 1 [752] => -1 [753] => 0 [754] => 3 [755] => 4 [756] => 1 [757] => -1 [758] => 0 [759] => 1 [760] => 1 [761] => -1 [762] => 0 [763] => 1 [764] => 1 [765] => -1 [766] => 0 [767] => 1 [768] => 1 [769] => -1 [770] => 1 [771] => 3 [772] => 4 [773] => 1 [774] => -1 [775] => 1 [776] => 1 [777] => 1 [778] => -1 [779] => 1 [780] => 1 [781] => 1 [782] => -1 [783] => 1 [784] => 1 [785] => 1 [786] => 0 [787] => 1 [788] => 3 [789] => 4 [790] => 1 [791] => 0 [792] => 1 [793] => 1 [794] => 1 [795] => 0 [796] => 1 [797] => 1 [798] => 1 [799] => 0 [800] => 1 [801] => 1 [802] => 1 [803] => -1 [804] => 1 [805] => 3 [806] => 4 [807] => 1 [808] => 1 [809] => 1 [810] => 1 [811] => 1 [812] => 1 [813] => 1 [814] => 1 [815] => 1 [816] => 1 [817] => 1 [818] => 1 [819] => 1 [820] => 0 [821] => 1 [822] => 3 [823] => 4 [824] => 1 [825] => 1 [826] => 0 [827] => 1 [828] => 1 [829] => 1 [830] => 0 [831] => 1 [832] => 1 [833] => 1 [834] => 0 [835] => 1 [836] => 1 [837] => 1 [838] => 1 [839] => 3 [840] => 4 [841] => 1 [842] => 1 [843] => -1 [844] => 1 [845] => 1 [846] => 1 [847] => -1 [848] => 1 [849] => 1 [850] => 1 [851] => -1 [852] => 1 [853] => 1 [854] => 1 [855] => 0 [856] => 3 [857] => 4 [858] => 1 [859] => 0 [860] => -1 [861] => 1 [862] => 1 [863] => 0 [864] => -1 [865] => 1 [866] => 1 [867] => 0 [868] => -1 [869] => 1 [870] => 1 [871] => 1 [872] => -1 [873] => 3 [874] => 4 [875] => 1 [876] => -1 [877] => -1 [878] => 1 [879] => 1 [880] => -1 [881] => -1 [882] => 1 [883] => 1 [884] => -1 [885] => -1 [886] => 1 [887] => 1 [888] => 0 [889] => -1 [890] => 3 [891] => 4 [892] => 1 [893] => -1 [894] => 0 [895] => 1 [896] => 1 [897] => -1 [898] => 0 [899] => 1 [900] => 1 [901] => -1 [902] => 0 [903] => 1 [904] => 1 [905] => -1 [906] => -1 [907] => 3 [908] => 4 [909] => 1 [910] => -1 [911] => 1 [912] => 1 [913] => 1 [914] => -1 [915] => 1 [916] => 1 [917] => 1 [918] => -1 [919] => 1 [920] => 1 [921] => 1 [922] => -1 [923] => 0 [924] => 3 [925] => 4 [926] => 1 [927] => 0 [928] => 1 [929] => 1 [930] => 1 [931] => 1 [932] => 1 [933] => 1 [934] => 1 [935] => 1 [936] => 1 [937] => 1 [938] => 1 [939] => 1 [940] => 1 [941] => 3 [942] => 4 [943] => 1 [944] => 1 [945] => 1 [946] => 1 [947] => 1 [948] => 1 [949] => 0 [950] => 1 [951] => 1 [952] => 1 [953] => 0 [954] => 1 [955] => 1 [956] => 1 [957] => 0 [958] => 3 [959] => 4 [960] => 1 [961] => 1 [962] => 0 [963] => 1 [964] => 1 [965] => 1 [966] => -1 [967] => 1 [968] => 1 [969] => 1 [970] => -1 [971] => 1 [972] => 1 [973] => 1 [974] => -1 [975] => 3 [976] => 4 [977] => 1 [978] => 1 [979] => -1 [980] => 1 [981] => 1 [982] => 0 [983] => -1 [984] => 1 [985] => 1 [986] => 0 [987] => -1 [988] => 1 [989] => 1 [990] => 0 [991] => -1 [992] => 3 [993] => 4 [994] => 1 [995] => 0 [996] => -1 [997] => 1 [998] => 1 [999] => -1 [1000] => -1 [1001] => 1 [1002] => 1 [1003] => -1 [1004] => -1 [1005] => 1 [1006] => 1 [1007] => -1 [1008] => -1 [1009] => 3 [1010] => 4 [1011] => 1 [1012] => -1 [1013] => -1 [1014] => 1 [1015] => 1 [1016] => -1 [1017] => 0 [1018] => 1 [1019] => 1 [1020] => -1 [1021] => 0 [1022] => 1 [1023] => 1 [1024] => -1 [1025] => 0 [1026] => 3 [1027] => 4 [1028] => 1 [1029] => -1 [1030] => 0 [1031] => 1 [1032] => 1 [1033] => -1 [1034] => 1 [1035] => 1 [1036] => 1 [1037] => -1 [1038] => 1 [1039] => 1 [1040] => 1 [1041] => -1 [1042] => 1 [1043] => 3 [1044] => 4 [1045] => 1 [1046] => -1 [1047] => 1 [1048] => 1 [1049] => 1 [1050] => 0 [1051] => 1 [1052] => 1 [1053] => 1 [1054] => 0 [1055] => 1 [1056] => 1 [1057] => 1 [1058] => 0 [1059] => 1 [1060] => 3 [1061] => 4 [1062] => 1 [1063] => 0 [1064] => 1 [1065] => 1 [1066] => 1 [1067] => -1 [1068] => 1 [1069] => 1 [1070] => 1 [1071] => -1 [1072] => 1 [1073] => 1 [1074] => 1 [1075] => -1 [1076] => 1 [1077] => 3 [1078] => 4 [1079] => 1 [1080] => 1 [1081] => 1 [1082] => 1 [1083] => 1 [1084] => 0 [1085] => 1 [1086] => 1 [1087] => 1 [1088] => 0 [1089] => 1 [1090] => 1 [1091] => 1 [1092] => 0 [1093] => 1 [1094] => 3 [1095] => 4 [1096] => 1 [1097] => 1 [1098] => 0 [1099] => 1 [1100] => 1 [1101] => 1 [1102] => 1 [1103] => 1 [1104] => 1 [1105] => 1 [1106] => 1 [1107] => 1 [1108] => 1 [1109] => 1 [1110] => 1 [1111] => 3 [1112] => 4 [1113] => 1 [1114] => 1 [1115] => -1 [1116] => 1 [1117] => 1 [1118] => 1 [1119] => 0 [1120] => 1 [1121] => 1 [1122] => 1 [1123] => 0 [1124] => 1 [1125] => 1 [1126] => 1 [1127] => 0 [1128] => 3 [1129] => 4 [1130] => 1 [1131] => 0 [1132] => -1 [1133] => 1 [1134] => 1 [1135] => 1 [1136] => -1 [1137] => 1 [1138] => 1 [1139] => 1 [1140] => -1 [1141] => 1 [1142] => 1 [1143] => 1 [1144] => -1 [1145] => 3 [1146] => 4 [1147] => 1 [1148] => -1 [1149] => -1 [1150] => 1 [1151] => 1 [1152] => 0 [1153] => -1 [1154] => 1 [1155] => 1 [1156] => 0 [1157] => -1 [1158] => 1 [1159] => 1 [1160] => 0 [1161] => -1 [1162] => 3 [1163] => 4 [1164] => 1 [1165] => -1 [1166] => 0 [1167] => 1 [1168] => 1 [1169] => -1 [1170] => -1 [1171] => 1 [1172] => 1 [1173] => -1 [1174] => -1 [1175] => 1 [1176] => 1 [1177] => -1 [1178] => -1 [1179] => 3 [1180] => 4 [1181] => 1 [1182] => -1 [1183] => 1 [1184] => 1 [1185] => 1 [1186] => -1 [1187] => 0 [1188] => 1 [1189] => 1 [1190] => -1 [1191] => 0 [1192] => 1 [1193] => 1 [1194] => -1 [1195] => 0 [1196] => 3 [1197] => 4 [1198] => 1 [1199] => 0 [1200] => 1 [1201] => 1 [1202] => 1 [1203] => 0 [1204] => 1 [1205] => 1 [1206] => 1 [1207] => 1 [1208] => 1 [1209] => 1 [1210] => 1 [1211] => 0 [1212] => 1 [1213] => 3 [1214] => 4 [1215] => 1 [1216] => 1 [1217] => 1 [1218] => 1 [1219] => 1 [1220] => 1 [1221] => 1 [1222] => 1 [1223] => 1 [1224] => 1 [1225] => 0 [1226] => 1 [1227] => 1 [1228] => 1 [1229] => 1 [1230] => 3 [1231] => 4 [1232] => 1 [1233] => 1 [1234] => 0 [1235] => 1 [1236] => 1 [1237] => 1 [1238] => 0 [1239] => 1 [1240] => 1 [1241] => 1 [1242] => -1 [1243] => 1 [1244] => 1 [1245] => 1 [1246] => 0 [1247] => 3 [1248] => 4 [1249] => 1 [1250] => 1 [1251] => -1 [1252] => 1 [1253] => 1 [1254] => 1 [1255] => -1 [1256] => 1 [1257] => 1 [1258] => 0 [1259] => -1 [1260] => 1 [1261] => 1 [1262] => 1 [1263] => -1 [1264] => 3 [1265] => 4 [1266] => 1 [1267] => 0 [1268] => -1 [1269] => 1 [1270] => 1 [1271] => 0 [1272] => -1 [1273] => 1 [1274] => 1 [1275] => -1 [1276] => -1 [1277] => 1 [1278] => 1 [1279] => 0 [1280] => -1 [1281] => 3 [1282] => 4 [1283] => 1 [1284] => -1 [1285] => -1 [1286] => 1 [1287] => 1 [1288] => -1 [1289] => -1 [1290] => 1 [1291] => 1 [1292] => -1 [1293] => 0 [1294] => 1 [1295] => 1 [1296] => -1 [1297] => -1 [1298] => 3 [1299] => 4 [1300] => 1 [1301] => -1 [1302] => 0 [1303] => 1 [1304] => 1 [1305] => -1 [1306] => 0 [1307] => 1 [1308] => 1 [1309] => -1 [1310] => 1 [1311] => 1 [1312] => 1 [1313] => -1 [1314] => 0 [1315] => 3 [1316] => 4 [1317] => 1 [1318] => -1 [1319] => 1 [1320] => 1 [1321] => 1 [1322] => -1 [1323] => 1 [1324] => 1 [1325] => 1 [1326] => 0 [1327] => 1 [1328] => 1 [1329] => 1 [1330] => -1 [1331] => 1 [1332] => 3 [1333] => 4 [1334] => 1 [1335] => 0 [1336] => 1 [1337] => 1 [1338] => 1 [1339] => 0 [1340] => 1 [1341] => 1 [1342] => 1 [1343] => -1 [1344] => 1 [1345] => 1 [1346] => 1 [1347] => 0 [1348] => 1 [1349] => 3 [1350] => 4 [1351] => 1 [1352] => 1 [1353] => 1 [1354] => 1 [1355] => 1 [1356] => 1 [1357] => 1 [1358] => 1 [1359] => 1 [1360] => 0 [1361] => 1 [1362] => 1 [1363] => 1 [1364] => 1 [1365] => 1 [1366] => 3 [1367] => 4 [1368] => 1 [1369] => 1 [1370] => 0 [1371] => 1 [1372] => 1 [1373] => 1 [1374] => 0 [1375] => 1 [1376] => 1 [1377] => 1 [1378] => 1 [1379] => 1 [1380] => 1 [1381] => 1 [1382] => 0 [1383] => 3 [1384] => 4 [1385] => 1 [1386] => 1 [1387] => -1 [1388] => 1 [1389] => 1 [1390] => 1 [1391] => -1 [1392] => 1 [1393] => 1 [1394] => 1 [1395] => 0 [1396] => 1 [1397] => 1 [1398] => 1 [1399] => -1 [1400] => 3 [1401] => 4 [1402] => 1 [1403] => 0 [1404] => -1 [1405] => 1 [1406] => 1 [1407] => 0 [1408] => -1 [1409] => 1 [1410] => 1 [1411] => 1 [1412] => -1 [1413] => 1 [1414] => 1 [1415] => 0 [1416] => -1 [1417] => 3 [1418] => 4 [1419] => 1 [1420] => -1 [1421] => -1 [1422] => 1 [1423] => 1 [1424] => -1 [1425] => -1 [1426] => 1 [1427] => 1 [1428] => 0 [1429] => -1 [1430] => 1 [1431] => 1 [1432] => -1 [1433] => -1 [1434] => 3 [1435] => 4 [1436] => 1 [1437] => -1 [1438] => 0 [1439] => 1 [1440] => 1 [1441] => -1 [1442] => 0 [1443] => 1 [1444] => 1 [1445] => -1 [1446] => -1 [1447] => 1 [1448] => 1 [1449] => -1 [1450] => 0 [1451] => 3 [1452] => 4 [1453] => 1 [1454] => -1 [1455] => 1 [1456] => 1 [1457] => 1 [1458] => -1 [1459] => 1 [1460] => 1 [1461] => 1 [1462] => -1 [1463] => 0 [1464] => 1 [1465] => 1 [1466] => -1 [1467] => 1 [1468] => 3 [1469] => 4 [1470] => 1 [1471] => 0 [1472] => 1 [1473] => 1 [1474] => 1 [1475] => 1 [1476] => 1 [1477] => 1 [1478] => 1 [1479] => 0 [1480] => 1 [1481] => 1 [1482] => 1 [1483] => 0 [1484] => 1 [1485] => 3 [1486] => 4 [1487] => 1 [1488] => 1 [1489] => 1 [1490] => 1 [1491] => 1 [1492] => 1 [1493] => 0 [1494] => 1 [1495] => 1 [1496] => 1 [1497] => 1 [1498] => 1 [1499] => 1 [1500] => 1 [1501] => 1 [1502] => 3 [1503] => 4 [1504] => 1 [1505] => 1 [1506] => 0 [1507] => 1 [1508] => 1 [1509] => 1 [1510] => -1 [1511] => 1 [1512] => 1 [1513] => 1 [1514] => 0 [1515] => 1 [1516] => 1 [1517] => 1 [1518] => 0 [1519] => 3 [1520] => 4 [1521] => 1 [1522] => 1 [1523] => -1 [1524] => 1 [1525] => 1 [1526] => 0 [1527] => -1 [1528] => 1 [1529] => 1 [1530] => 1 [1531] => -1 [1532] => 1 [1533] => 1 [1534] => 1 [1535] => -1 [1536] => 3 [1537] => 4 [1538] => 1 [1539] => 0 [1540] => -1 [1541] => 1 [1542] => 1 [1543] => -1 [1544] => -1 [1545] => 1 [1546] => 1 [1547] => 0 [1548] => -1 [1549] => 1 [1550] => 1 [1551] => 0 [1552] => -1 [1553] => 3 [1554] => 4 [1555] => 1 [1556] => -1 [1557] => -1 [1558] => 1 [1559] => 1 [1560] => -1 [1561] => 0 [1562] => 1 [1563] => 1 [1564] => -1 [1565] => -1 [1566] => 1 [1567] => 1 [1568] => -1 [1569] => -1 [1570] => 3 [1571] => 4 [1572] => 1 [1573] => -1 [1574] => 0 [1575] => 1 [1576] => 1 [1577] => -1 [1578] => 1 [1579] => 1 [1580] => 1 [1581] => -1 [1582] => 0 [1583] => 1 [1584] => 1 [1585] => -1 [1586] => 0 [1587] => 3 [1588] => 4 [1589] => 1 [1590] => -1 [1591] => 1 [1592] => 1 [1593] => 1 [1594] => 0 [1595] => 1 [1596] => 1 [1597] => 1 [1598] => -1 [1599] => 1 [1600] => 1 [1601] => 1 [1602] => -1 [1603] => 1 [1604] => 3 [1605] => 4 [1606] => 1 [1607] => 0 [1608] => 1 [1609] => 1 [1610] => 1 [1611] => -1 [1612] => 1 [1613] => 1 [1614] => 1 [1615] => 0 [1616] => 1 [1617] => 1 [1618] => 1 [1619] => 0 [1620] => 1 [1621] => 3 [1622] => 4 [1623] => 1 [1624] => 1 [1625] => 1 [1626] => 1 [1627] => 1 [1628] => 0 [1629] => 1 [1630] => 1 [1631] => 1 [1632] => 1 [1633] => 1 [1634] => 1 [1635] => 1 [1636] => 1 [1637] => 1 [1638] => 3 [1639] => 4 [1640] => 1 [1641] => 1 [1642] => 0 [1643] => 1 [1644] => 1 [1645] => 1 [1646] => 1 [1647] => 1 [1648] => 1 [1649] => 1 [1650] => 0 [1651] => 1 [1652] => 1 [1653] => 1 [1654] => 0 [1655] => 3 [1656] => 4 [1657] => 1 [1658] => 1 [1659] => -1 [1660] => 1 [1661] => 1 [1662] => 1 [1663] => 0 [1664] => 1 [1665] => 1 [1666] => 1 [1667] => -1 [1668] => 1 [1669] => 1 [1670] => 1 [1671] => -1 [1672] => 3 [1673] => 4 [1674] => 1 [1675] => 0 [1676] => -1 [1677] => 1 [1678] => 1 [1679] => 1 [1680] => -1 [1681] => 1 [1682] => 1 [1683] => 0 [1684] => -1 [1685] => 1 [1686] => 1 [1687] => 0 [1688] => -1 [1689] => 3 [1690] => 4 [1691] => 1 [1692] => -1 [1693] => -1 [1694] => 1 [1695] => 1 [1696] => 0 [1697] => -1 [1698] => 1 [1699] => 1 [1700] => -1 [1701] => -1 [1702] => 1 [1703] => 1 [1704] => -1 [1705] => -1 [1706] => 3 [1707] => 4 [1708] => 1 [1709] => -1 [1710] => 0 [1711] => 1 [1712] => 1 [1713] => -1 [1714] => -1 [1715] => 1 [1716] => 1 [1717] => -1 [1718] => 0 [1719] => 1 [1720] => 1 [1721] => -1 [1722] => 0 [1723] => 3 [1724] => 4 [1725] => 1 [1726] => -1 [1727] => 1 [1728] => 1 [1729] => 1 [1730] => -1 [1731] => 0 [1732] => 1 [1733] => 1 [1734] => -1 [1735] => 1 [1736] => 1 [1737] => 1 [1738] => -1 [1739] => 1 [1740] => 3 [1741] => 1 [1742] => 1 [1743] => 2 [1744] => 2 [1745] => 1 [1746] => 1 [1747] => 1 [1748] => 2 [1749] => -2 [1750] => 1 [1751] => 1 [1752] => 1 [1753] => -2 [1754] => -2 [1755] => 1 [1756] => 1 [1757] => 1 [1758] => -2 [1759] => 2 [1760] => 1 [1761] => 0 [1762] => 1 [1763] => 1 [1764] => 0 [1765] => 1 [1766] => 16777219 [1767] => 0 [1768] => 1 [1769] => 1 [1770] => 0 [1771] => -1 [1772] => 16777219 [1773] => 0 [1774] => 1 [1775] => 1 [1776] => 1 [1777] => 1 [1778] => 3 [1779] => 1 [1780] => 1 [1781] => 1 [1782] => -1 [1783] => 3 [1784] => 1 [1785] => 1 [1786] => -1 [1787] => -1 [1788] => 3 [1789] => 1 [1790] => 1 [1791] => -1 [1792] => 1 [1793] => 3 [1794] => 2 [1795] => 1 [1796] => 1 [1797] => 1 [1798] => 33 [1799] => 99 [1800] => 1 [1801] => 0 [1802] => 3 [1803] => 2 [1804] => 1 [1805] => 1 [1806] => -1 [1807] => 33 [1808] => 99 [1809] => 0 [1810] => -1 [1811] => 3 [1812] => 2 [1813] => 1 [1814] => -1 [1815] => -1 [1816] => 33 [1817] => 99 [1818] => -1 [1819] => 0 [1820] => 3 [1821] => 2 [1822] => 1 [1823] => -1 [1824] => 1 [1825] => 33 [1826] => 99 [1827] => 0 [1828] => 1 [1829] => 3 [1830] => 2 [1831] => 1 [1832] => 1 [1833] => 1 [1834] => 33 [1835] => 99 [1836] => 0 [1837] => 1 [1838] => 3 [1839] => 2 [1840] => 1 [1841] => 1 [1842] => -1 [1843] => 33 [1844] => 99 [1845] => 1 [1846] => 0 [1847] => 3 [1848] => 2 [1849] => 1 [1850] => -1 [1851] => -1 [1852] => 33 [1853] => 99 [1854] => 0 [1855] => -1 [1856] => 3 [1857] => 2 [1858] => 1 [1859] => -1 [1860] => 1 [1861] => 33 [1862] => 99 [1863] => -1 [1864] => 0 [1865] => 3 [1866] => 0 [1867] => 1 [1868] => 1 [1869] => 0 [1870] => 1 [1871] => 3 [1872] => 1 [1873] => 1 [1874] => 1 [1875] => 0 [1876] => 3 [1877] => 1 [1878] => 1 [1879] => 0 [1880] => -1 [1881] => 3 [1882] => 1 [1883] => 1 [1884] => -1 [1885] => 0 [1886] => 3 [1887] => 1 [1888] => 3 [1889] => 1 [1890] => 1 [1891] => 3 [1892] => 1 [1893] => 3 [1894] => 1 [1895] => -1 [1896] => 3 [1897] => 1 [1898] => 3 [1899] => -1 [1900] => -1 [1901] => 3 [1902] => 1 [1903] => 3 [1904] => -1 [1905] => 1 [1906] => 3 [1907] => 4 [1908] => 1 [1909] => 1 [1910] => 1 [1911] => 1 [1912] => 1 [1913] => 1 [1914] => 1 [1915] => 1 [1916] => 1 [1917] => 1 [1918] => 1 [1919] => 33 [1920] => 99 [1921] => 1 [1922] => 0 [1923] => 3 [1924] => 4 [1925] => 1 [1926] => 1 [1927] => -1 [1928] => 1 [1929] => 1 [1930] => 1 [1931] => -1 [1932] => 1 [1933] => 1 [1934] => 1 [1935] => -1 [1936] => 33 [1937] => 99 [1938] => 0 [1939] => -1 [1940] => 3 [1941] => 4 [1942] => 1 [1943] => -1 [1944] => -1 [1945] => 1 [1946] => 1 [1947] => -1 [1948] => -1 [1949] => 1 [1950] => 1 [1951] => -1 [1952] => -1 [1953] => 33 [1954] => 99 [1955] => -1 [1956] => 0 [1957] => 3 [1958] => 4 [1959] => 1 [1960] => -1 [1961] => 1 [1962] => 1 [1963] => 1 [1964] => -1 [1965] => 1 [1966] => 1 [1967] => 1 [1968] => -1 [1969] => 1 [1970] => 33 [1971] => 99 [1972] => 0 [1973] => 1 [1974] => 3 [1975] => 4 [1976] => 1 [1977] => 1 [1978] => 1 [1979] => 1 [1980] => 1 [1981] => 1 [1982] => 1 [1983] => 1 [1984] => 1 [1985] => 1 [1986] => 1 [1987] => 33 [1988] => 99 [1989] => 0 [1990] => 1 [1991] => 3 [1992] => 4 [1993] => 1 [1994] => 1 [1995] => -1 [1996] => 1 [1997] => 1 [1998] => 1 [1999] => -1 [2000] => 1 [2001] => 1 [2002] => 1 [2003] => -1 [2004] => 33 [2005] => 99 [2006] => 1 [2007] => 0 [2008] => 3 [2009] => 4 [2010] => 1 [2011] => -1 [2012] => -1 [2013] => 1 [2014] => 1 [2015] => -1 [2016] => -1 [2017] => 1 [2018] => 1 [2019] => -1 [2020] => -1 [2021] => 33 [2022] => 99 [2023] => 0 [2024] => -1 [2025] => 3 [2026] => 4 [2027] => 1 [2028] => -1 [2029] => 1 [2030] => 1 [2031] => 1 [2032] => -1 [2033] => 1 [2034] => 1 [2035] => 1 [2036] => -1 [2037] => 1 [2038] => 33 [2039] => 99 [2040] => -1 [2041] => 0 [2042] => 3 [2043] => 0 [2044] => 1 [2045] => 99 [2046] => 1 [2047] => 1 [2048] => 3 [2049] => 1 [2050] => 99 [2051] => 1 [2052] => -1 [2053] => 3 [2054] => 1 [2055] => 99 [2056] => -1 [2057] => -1 [2058] => 3 [2059] => 1 [2060] => 99 [2061] => -1 [2062] => 1 [2063] => 3 [2064] => 1 [2065] => 99 [2066] => 1 [2067] => 2 [2068] => 3 [2069] => 1 [2070] => 99 [2071] => 2 [2072] => 1 [2073] => 3 [2074] => 1 [2075] => 99 [2076] => 2 [2077] => -1 [2078] => 3 [2079] => 1 [2080] => 99 [2081] => 1 [2082] => -2 [2083] => 3 [2084] => 1 [2085] => 99 [2086] => -1 [2087] => -2 [2088] => 3 [2089] => 1 [2090] => 99 [2091] => -2 [2092] => -1 [2093] => 3 [2094] => 1 [2095] => 99 [2096] => -2 [2097] => 1 [2098] => 3 [2099] => 1 [2100] => 99 [2101] => -1 [2102] => 2 [2103] => 3 [2104] => 0 [2105] => 1 [2106] => 1 [2107] => 1 [2108] => 1 [2109] => 3 [2110] => 1 [2111] => 1 [2112] => 1 [2113] => -1 [2114] => 3 [2115] => 1 [2116] => 1 [2117] => -1 [2118] => -1 [2119] => 3 [2120] => 1 [2121] => 1 [2122] => -1 [2123] => 1 [2124] => 3 [2125] => 1 [2126] => 2 [2127] => 0 [2128] => 1 [2129] => 3 [2130] => 1 [2131] => 2 [2132] => 1 [2133] => 0 [2134] => 3 [2135] => 1 [2136] => 2 [2137] => 0 [2138] => -1 [2139] => 3 [2140] => 1 [2141] => 2 [2142] => -1 [2143] => 0 [2144] => 3 [2145] => 3 [2146] => 1 [2147] => 0 [2148] => 1 [2149] => 1 [2150] => 1 [2151] => 0 [2152] => 1 [2153] => 33 [2154] => 99 [2155] => 1 [2156] => 1 [2157] => 3 [2158] => 3 [2159] => 1 [2160] => 1 [2161] => 0 [2162] => 1 [2163] => 1 [2164] => 1 [2165] => 0 [2166] => 33 [2167] => 99 [2168] => 1 [2169] => -1 [2170] => 3 [2171] => 3 [2172] => 1 [2173] => 0 [2174] => -1 [2175] => 1 [2176] => 1 [2177] => 0 [2178] => -1 [2179] => 33 [2180] => 99 [2181] => -1 [2182] => -1 [2183] => 3 [2184] => 3 [2185] => 1 [2186] => -1 [2187] => 0 [2188] => 1 [2189] => 1 [2190] => -1 [2191] => 0 [2192] => 33 [2193] => 99 [2194] => -1 [2195] => 1 [2196] => 3 [2197] => 3 [2198] => 1 [2199] => 0 [2200] => 1 [2201] => 1 [2202] => 1 [2203] => 0 [2204] => 1 [2205] => 33 [2206] => 99 [2207] => -1 [2208] => 1 [2209] => 3 [2210] => 3 [2211] => 1 [2212] => 1 [2213] => 0 [2214] => 1 [2215] => 1 [2216] => 1 [2217] => 0 [2218] => 33 [2219] => 99 [2220] => 1 [2221] => 1 [2222] => 3 [2223] => 3 [2224] => 1 [2225] => 0 [2226] => -1 [2227] => 1 [2228] => 1 [2229] => 0 [2230] => -1 [2231] => 33 [2232] => 99 [2233] => 1 [2234] => -1 [2235] => 3 [2236] => 3 [2237] => 1 [2238] => -1 [2239] => 0 [2240] => 1 [2241] => 1 [2242] => -1 [2243] => 0 [2244] => 33 [2245] => 99 [2246] => -1 [2247] => -1 [2248] => 3 [2249] => 0 ) [partners] => Array ( [0] => b2 [1] => k2 [2] => b13 [3] => k13 ) [supply] => Array ( [0] => P [1] => p [2] => X [3] => x ) [promotab] => Array ( [0] => Array ( [0] => r [1] => q [2] => b [3] => n [4] => l [5] => e [6] => z [7] => y [8] => f [9] => j [10] => d [11] => t [12] => u [13] => i ) [1] => Array ( [0] => p [1] => x [2] => r [3] => q [4] => b [5] => n [6] => l [7] => e [8] => z [9] => y [10] => f [11] => j [12] => d [13] => t [14] => u [15] => i ) [2] => Array ( [0] => p [1] => x [2] => r [3] => b [4] => n [5] => l [6] => e [7] => z [8] => y [9] => f [10] => j ) [3] => Array ( [0] => p [1] => x [2] => b [3] => n [4] => l [5] => e [6] => z ) [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 [10] => Array ( [0] => P [1] => X [2] => B [3] => N [4] => L [5] => E [6] => Z ) [11] => Array ( [0] => P [1] => X [2] => R [3] => B [4] => N [5] => L [6] => E [7] => Z [8] => Y [9] => F [10] => J ) [12] => Array ( [0] => P [1] => X [2] => R [3] => Q [4] => B [5] => N [6] => L [7] => E [8] => Z [9] => Y [10] => F [11] => J [12] => D [13] => T [14] => U [15] => I ) [13] => Array ( [0] => R [1] => Q [2] => B [3] => N [4] => L [5] => E [6] => Z [7] => Y [8] => F [9] => J [10] => D [11] => T [12] => U [13] => I ) ) [shaded] => Array ( ) [symmetrized] => Array ( ) [centralize] => Array ( ) [blackset] => Array ( ) [blacksym] => Array ( ) [blackshaded] => Array ( ) [shufflespecs] => Array ( [0] => Array ( [0] => Q [1] => T [2] => U ) [1] => 0 [2] => 0 [3] => Array ( [0] => D [1] => I ) [4] => 0 [5] => 0 [6] => 0 ) [left] => Array ( [0] => f1 ) [light] => Array ( [0] => f1 ) [dark] => Array ( [0] => f1 ) [RESULT] => ) ) [1] => Array ( [ShuffleSetup] => Array ( [subargs] => Array ( ) ) ) [3] => Array ( [ShuffleSetup] => Array ( [i] => 0 [a] => Array ( [0] => Q [1] => T [2] => U ) [b] => Array ( ) [c] => Array ( ) ) ) [5] => Array ( [ShuffleOnePlayer] => Array ( [subargs] => Array ( [0] => Array ( [0] => Q [1] => T [2] => U ) [1] => Array ( ) [2] => Array ( ) ) ) [main] => Array ( [otherset] => Array ( [0] => Q [1] => T [2] => U ) [symset] => Array ( ) [shadeset] => Array ( ) ) ) [7] => Array ( [ShuffleOne] => Array ( [subargs] => Array ( [0] => Array ( ) [1] => Array ( [0] => Q [1] => T [2] => U ) ) [toshuffle] => Array ( [0] => Q [1] => T [2] => U ) ) [main] => Array ( [shaded] => Array ( ) [others] => Array ( [0] => Q [1] => T [2] => U ) ) ) )

mline

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

allmoves

Array ( )

movelist

constants

Array ( )