Echo Chess: The Quest for Solvability
Most of the pictures are not displayed. (This seems to be because they are WebP format even though the file name is &quot;.png&quot;.)<p>Do you have a full description of the rules, and do you have the FEN? I like to know the rules if I want to play game, and, it is not working so I made up my own, and if the levels is available then I can play game.<p>The below is I made up my own (I don&#x27;t even know, if it is the real rules or not; but it is what I had understood):<p><pre><code>  ; Echo Chess
  
  (InputXY)
  
  (Control
    Input
    (INIT $Cursor 1 1 0 0 Create =@cur)
    (KEY IgnoreKey)
  )
  
  ($Cursor
    (Image &quot;Cursor0&quot; &quot;Cursor1&quot;)
    (DefaultImage ())
    (Density -10)
    (CREATE LOOP 0 1 50 Animate)
  )
  
  ($Tile
    (Image &quot;Tile0&quot; &quot;Tile1&quot;)
    (Density 10)
    (INIT Loc + 1 band =Image)
    (CLICK @cur ,ObjBelow #Move Loc ,Send . 1)
  )
  
  ($White
    (Image &quot;P&quot; &quot;N&quot; &quot;B&quot; &quot;R&quot; &quot;Q&quot; &quot;K&quot;)
    (CLICK @cur Loc ,MoveTo)
    (#Move
      fork
        Image (case
          (0 :pawn)
          (1 :knight)
          (2 :bishop)
          (3 :rook)
          (4 :queen)
          (5 :king)
        )
      then
      if
        Arg1 Arg2 MoveTo .
        Arg3 if
          From ,Image =Image
          From ,Destroy .
          (=P $Black) lnot if WinLevel then
        then
        @cur Loc ,MoveTo .
      then
    )
    (:pawn Yloc Arg2 1 + eq Xloc Arg1 Delta Arg3 eq land)
    (:knight Xloc Arg1 Delta dup * Yloc Arg2 Delta dup * + 5 eq)
    (:bishop Xloc Arg1 Delta Yloc Arg2 Delta eq if =:queen else 0 then)
    (:rook Xloc Arg1 Delta Yloc Arg2 Delta land if 0 else =:queen then)
    (:queen From Seek =%d Loc begin %d NewXY over over ObjTopAt dup From eq if . . ret then ,Class $Tile ne until . . 0)
    (:king From Chebyshev 1 eq)
  )
  
  ($Black
    (Image &quot;PB&quot; &quot;NB&quot; &quot;BB&quot; &quot;RB&quot; &quot;QB&quot; &quot;KB&quot;)
    (CLICK @cur ,ObjBelow #Move Loc 1 ,SendEx . 1)
  )</code></pre>