
uses
  SysUtils, Board;
  
var
  x, y: integer;
  LType: TPieceType;
  LBoard: int64;

begin
  for LType in TPieceType do
  begin
    WriteLn('  (');
    for y := 0 to 7 do
      for x := 0 to 7 do
      begin
        LBoard := GetTargets(LType, 8 * y + x);
        if x = 0 then
          Write('   ');
        Write(' $', IntToHex(LBoard, 16));
        if 8 * y + x < 63 then
          Write(',');
        if x = 7 then
          WriteLn;
      end;
    Write('  )');
    if LType < ptKing then
      WriteLn(',');
  end;
end.
