Pretty pictures; need wide display

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Pretty pictures; need wide display

Post by sje »

Code: Select all

> (dotimes (sq sq-limit) (encode-bb-big t (svref ortho-attack-bb-vec sq)) (terpri))
[  b1c1d1e1f1g1h1a2              a3              a4              a5              a6              a7              a8              ]
[a1  c1d1e1f1g1h1  b2              b3              b4              b5              b6              b7              b8            ]
[a1b1  d1e1f1g1h1    c2              c3              c4              c5              c6              c7              c8          ]
[a1b1c1  e1f1g1h1      d2              d3              d4              d5              d6              d7              d8        ]
[a1b1c1d1  f1g1h1        e2              e3              e4              e5              e6              e7              e8      ]
[a1b1c1d1e1  g1h1          f2              f3              f4              f5              f6              f7              f8    ]
[a1b1c1d1e1f1  h1            g2              g3              g4              g5              g6              g7              g8  ]
[a1b1c1d1e1f1g1                h2              h3              h4              h5              h6              h7              h8]
[a1                b2c2d2e2f2g2h2a3              a4              a5              a6              a7              a8              ]
[  b1            a2  c2d2e2f2g2h2  b3              b4              b5              b6              b7              b8            ]
[    c1          a2b2  d2e2f2g2h2    c3              c4              c5              c6              c7              c8          ]
[      d1        a2b2c2  e2f2g2h2      d3              d4              d5              d6              d7              d8        ]
[        e1      a2b2c2d2  f2g2h2        e3              e4              e5              e6              e7              e8      ]
[          f1    a2b2c2d2e2  g2h2          f3              f4              f5              f6              f7              f8    ]
[            g1  a2b2c2d2e2f2  h2            g3              g4              g5              g6              g7              g8  ]
[              h1a2b2c2d2e2f2g2                h3              h4              h5              h6              h7              h8]
[a1              a2                b3c3d3e3f3g3h3a4              a5              a6              a7              a8              ]
[  b1              b2            a3  c3d3e3f3g3h3  b4              b5              b6              b7              b8            ]
[    c1              c2          a3b3  d3e3f3g3h3    c4              c5              c6              c7              c8          ]
[      d1              d2        a3b3c3  e3f3g3h3      d4              d5              d6              d7              d8        ]
[        e1              e2      a3b3c3d3  f3g3h3        e4              e5              e6              e7              e8      ]
[          f1              f2    a3b3c3d3e3  g3h3          f4              f5              f6              f7              f8    ]
[            g1              g2  a3b3c3d3e3f3  h3            g4              g5              g6              g7              g8  ]
[              h1              h2a3b3c3d3e3f3g3                h4              h5              h6              h7              h8]
[a1              a2              a3                b4c4d4e4f4g4h4a5              a6              a7              a8              ]
[  b1              b2              b3            a4  c4d4e4f4g4h4  b5              b6              b7              b8            ]
[    c1              c2              c3          a4b4  d4e4f4g4h4    c5              c6              c7              c8          ]
[      d1              d2              d3        a4b4c4  e4f4g4h4      d5              d6              d7              d8        ]
[        e1              e2              e3      a4b4c4d4  f4g4h4        e5              e6              e7              e8      ]
[          f1              f2              f3    a4b4c4d4e4  g4h4          f5              f6              f7              f8    ]
[            g1              g2              g3  a4b4c4d4e4f4  h4            g5              g6              g7              g8  ]
[              h1              h2              h3a4b4c4d4e4f4g4                h5              h6              h7              h8]
[a1              a2              a3              a4                b5c5d5e5f5g5h5a6              a7              a8              ]
[  b1              b2              b3              b4            a5  c5d5e5f5g5h5  b6              b7              b8            ]
[    c1              c2              c3              c4          a5b5  d5e5f5g5h5    c6              c7              c8          ]
[      d1              d2              d3              d4        a5b5c5  e5f5g5h5      d6              d7              d8        ]
[        e1              e2              e3              e4      a5b5c5d5  f5g5h5        e6              e7              e8      ]
[          f1              f2              f3              f4    a5b5c5d5e5  g5h5          f6              f7              f8    ]
[            g1              g2              g3              g4  a5b5c5d5e5f5  h5            g6              g7              g8  ]
[              h1              h2              h3              h4a5b5c5d5e5f5g5                h6              h7              h8]
[a1              a2              a3              a4              a5                b6c6d6e6f6g6h6a7              a8              ]
[  b1              b2              b3              b4              b5            a6  c6d6e6f6g6h6  b7              b8            ]
[    c1              c2              c3              c4              c5          a6b6  d6e6f6g6h6    c7              c8          ]
[      d1              d2              d3              d4              d5        a6b6c6  e6f6g6h6      d7              d8        ]
[        e1              e2              e3              e4              e5      a6b6c6d6  f6g6h6        e7              e8      ]
[          f1              f2              f3              f4              f5    a6b6c6d6e6  g6h6          f7              f8    ]
[            g1              g2              g3              g4              g5  a6b6c6d6e6f6  h6            g7              g8  ]
[              h1              h2              h3              h4              h5a6b6c6d6e6f6g6                h7              h8]
[a1              a2              a3              a4              a5              a6                b7c7d7e7f7g7h7a8              ]
[  b1              b2              b3              b4              b5              b6            a7  c7d7e7f7g7h7  b8            ]
[    c1              c2              c3              c4              c5              c6          a7b7  d7e7f7g7h7    c8          ]
[      d1              d2              d3              d4              d5              d6        a7b7c7  e7f7g7h7      d8        ]
[        e1              e2              e3              e4              e5              e6      a7b7c7d7  f7g7h7        e8      ]
[          f1              f2              f3              f4              f5              f6    a7b7c7d7e7  g7h7          f8    ]
[            g1              g2              g3              g4              g5              g6  a7b7c7d7e7f7  h7            g8  ]
[              h1              h2              h3              h4              h5              h6a7b7c7d7e7f7g7                h8]
[a1              a2              a3              a4              a5              a6              a7                b8c8d8e8f8g8h8]
[  b1              b2              b3              b4              b5              b6              b7            a8  c8d8e8f8g8h8]
[    c1              c2              c3              c4              c5              c6              c7          a8b8  d8e8f8g8h8]
[      d1              d2              d3              d4              d5              d6              d7        a8b8c8  e8f8g8h8]
[        e1              e2              e3              e4              e5              e6              e7      a8b8c8d8  f8g8h8]
[          f1              f2              f3              f4              f5              f6              f7    a8b8c8d8e8  g8h8]
[            g1              g2              g3              g4              g5              g6              g7  a8b8c8d8e8f8  h8]
[              h1              h2              h3              h4              h5              h6              h7a8b8c8d8e8f8g8  ]
NIL

Code: Select all

> (dotimes (sq sq-limit) (encode-bb-big t (svref diago-attack-bb-vec sq)) (terpri))
[                  b2                c3                d4                e5                f6                g7                h8]
[                a2  c2                d3                e4                f5                g6                h7                ]
[                  b2  d2        a3      e3                f4                g5                h6                                ]
[                    c2  e2        b3      f3    a4          g4                h5                                                ]
[                      d2  f2        c3      g3    b4          h4a5                                                              ]
[                        e2  g2        d3      h3    c4            b5            a6                                              ]
[                          f2  h2        e3            d4            c5            b6            a7                              ]
[                            g2            f3            e4            d5            c6            b7            a8              ]
[  b1                              b3                c4                d5                e6                f7                g8  ]
[a1  c1                          a3  c3                d4                e5                f6                g7                h8]
[  b1  d1                          b3  d3        a4      e4                f5                g6                h7                ]
[    c1  e1                          c3  e3        b4      f4    a5          g5                h6                                ]
[      d1  f1                          d3  f3        c4      g4    b5          h5a6                                              ]
[        e1  g1                          e3  g3        d4      h4    c5            b6            a7                              ]
[          f1  h1                          f3  h3        e4            d5            c6            b7            a8              ]
[            g1                              g3            f4            e5            d6            c7            b8            ]
[    c1            b2                              b4                c5                d6                e7                f8    ]
[      d1        a2  c2                          a4  c4                d5                e6                f7                g8  ]
[a1      e1        b2  d2                          b4  d4        a5      e5                f6                g7                h8]
[  b1      f1        c2  e2                          c4  e4        b5      f5    a6          g6                h7                ]
[    c1      g1        d2  f2                          d4  f4        c5      g5    b6          h6a7                              ]
[      d1      h1        e2  g2                          e4  g4        d5      h5    c6            b7            a8              ]
[        e1                f2  h2                          f4  h4        e5            d6            c7            b8            ]
[          f1                g2                              g4            f5            e6            d7            c8          ]
[      d1            c2            b3                              b5                c6                d7                e8      ]
[        e1            d2        a3  c3                          a5  c5                d6                e7                f8    ]
[          f1    a2      e2        b3  d3                          b5  d5        a6      e6                f7                g8  ]
[a1          g1    b2      f2        c3  e3                          c5  e5        b6      f6    a7          g7                h8]
[  b1          h1    c2      g2        d3  f3                          d5  f5        c6      g6    b7          h7a8              ]
[    c1                d2      h2        e3  g3                          e5  g5        d6      h6    c7            b8            ]
[      d1                e2                f3  h3                          f5  h5        e6            d7            c8          ]
[        e1                f2                g3                              g5            f6            e7            d8        ]
[        e1            d2            c3            b4                              b6                c7                d8        ]
[          f1            e2            d3        a4  c4                          a6  c6                d7                e8      ]
[            g1            f2    a3      e3        b4  d4                          b6  d6        a7      e7                f8    ]
[              h1a2          g2    b3      f3        c4  e4                          c6  e6        b7      f7    a8          g8  ]
[a1                b2          h2    c3      g3        d4  f4                          d6  f6        c7      g7    b8          h8]
[  b1                c2                d3      h3        e4  g4                          e6  g6        d7      h7    c8          ]
[    c1                d2                e3                f4  h4                          f6  h6        e7            d8        ]
[      d1                e2                f3                g4                              g6            f7            e8      ]
[          f1            e2            d3            c4            b5                              b7                c8          ]
[            g1            f2            e3            d4        a5  c5                          a7  c7                d8        ]
[              h1            g2            f3    a4      e4        b5  d5                          b7  d7        a8      e8      ]
[                              h2a3          g3    b4      f4        c5  e5                          c7  e7        b8      f8    ]
[                a2                b3          h3    c4      g4        d5  f5                          d7  f7        c8      g8  ]
[a1                b2                c3                d4      h4        e5  g5                          e7  g7        d8      h8]
[  b1                c2                d3                e4                f5  h5                          f7  h7        e8      ]
[    c1                d2                e3                f4                g5                              g7            f8    ]
[            g1            f2            e3            d4            c5            b6                              b8            ]
[              h1            g2            f3            e4            d5        a6  c6                          a8  c8          ]
[                              h2            g3            f4    a5      e5        b6  d6                          b8  d8        ]
[                                              h3a4          g4    b5      f5        c6  e6                          c8  e8      ]
[                                a3                b4          h4    c5      g5        d6  f6                          d8  f8    ]
[                a2                b3                c4                d5      h5        e6  g6                          e8  g8  ]
[a1                b2                c3                d4                e5                f6  h6                          f8  h8]
[  b1                c2                d3                e4                f5                g6                              g8  ]
[              h1            g2            f3            e4            d5            c6            b7                            ]
[                              h2            g3            f4            e5            d6        a7  c7                          ]
[                                              h3            g4            f5    a6      e6        b7  d7                        ]
[                                                              h4a5          g5    b6      f6        c7  e7                      ]
[                                                a4                b5          h5    c6      g6        d7  f7                    ]
[                                a3                b4                c5                d6      h6        e7  g7                  ]
[                a2                b3                c4                d5                e6                f7  h7                ]
[a1                b2                c3                d4                e5                f6                g7                  ]
NIL

Code: Select all

> (dotimes (sq sq-limit) (encode-bb-big t (svref sweep-attack-bb-vec sq)) (terpri))
[  b1c1d1e1f1g1h1a2b2            a3  c3          a4    d4        a5      e5      a6        f6    a7          g7  a8            h8]
[a1  c1d1e1f1g1h1a2b2c2            b3  d3          b4    e4        b5      f5      b6        g6    b7          h7  b8            ]
[a1b1  d1e1f1g1h1  b2c2d2        a3  c3  e3          c4    f4        c5      g5      c6        h6    c7              c8          ]
[a1b1c1  e1f1g1h1    c2d2e2        b3  d3  f3    a4    d4    g4        d5      h5      d6              d7              d8        ]
[a1b1c1d1  f1g1h1      d2e2f2        c3  e3  g3    b4    e4    h4a5      e5              e6              e7              e8      ]
[a1b1c1d1e1  g1h1        e2f2g2        d3  f3  h3    c4    f4      b5      f5    a6        f6              f7              f8    ]
[a1b1c1d1e1f1  h1          f2g2h2        e3  g3        d4    g4      c5      g5    b6        g6  a7          g7              g8  ]
[a1b1c1d1e1f1g1              g2h2          f3  h3        e4    h4      d5      h5    c6        h6  b7          h7a8            h8]
[a1b1              b2c2d2e2f2g2h2a3b3            a4  c4          a5    d5        a6      e6      a7        f7    a8          g8  ]
[a1b1c1          a2  c2d2e2f2g2h2a3b3c3            b4  d4          b5    e5        b6      f6      b7        g7    b8          h8]
[  b1c1d1        a2b2  d2e2f2g2h2  b3c3d3        a4  c4  e4          c5    f5        c6      g6      c7        h7    c8          ]
[    c1d1e1      a2b2c2  e2f2g2h2    c3d3e3        b4  d4  f4    a5    d5    g5        d6      h6      d7              d8        ]
[      d1e1f1    a2b2c2d2  f2g2h2      d3e3f3        c4  e4  g4    b5    e5    h5a6      e6              e7              e8      ]
[        e1f1g1  a2b2c2d2e2  g2h2        e3f3g3        d4  f4  h4    c5    f5      b6      f6    a7        f7              f8    ]
[          f1g1h1a2b2c2d2e2f2  h2          f3g3h3        e4  g4        d5    g5      c6      g6    b7        g7  a8          g8  ]
[            g1h1a2b2c2d2e2f2g2              g3h3          f4  h4        e5    h5      d6      h6    c7        h7  b8          h8]
[a1  c1          a2b2              b3c3d3e3f3g3h3a4b4            a5  c5          a6    d6        a7      e7      a8        f8    ]
[  b1  d1        a2b2c2          a3  c3d3e3f3g3h3a4b4c4            b5  d5          b6    e6        b7      f7      b8        g8  ]
[a1  c1  e1        b2c2d2        a3b3  d3e3f3g3h3  b4c4d4        a5  c5  e5          c6    f6        c7      g7      c8        h8]
[  b1  d1  f1        c2d2e2      a3b3c3  e3f3g3h3    c4d4e4        b5  d5  f5    a6    d6    g6        d7      h7      d8        ]
[    c1  e1  g1        d2e2f2    a3b3c3d3  f3g3h3      d4e4f4        c5  e5  g5    b6    e6    h6a7      e7              e8      ]
[      d1  f1  h1        e2f2g2  a3b3c3d3e3  g3h3        e4f4g4        d5  f5  h5    c6    f6      b7      f7    a8        f8    ]
[        e1  g1            f2g2h2a3b3c3d3e3f3  h3          f4g4h4        e5  g5        d6    g6      c7      g7    b8        g8  ]
[          f1  h1            g2h2a3b3c3d3e3f3g3              g4h4          f5  h5        e6    h6      d7      h7    c8        h8]
[a1    d1        a2  c2          a3b3              b4c4d4e4f4g4h4a5b5            a6  c6          a7    d7        a8      e8      ]
[  b1    e1        b2  d2        a3b3c3          a4  c4d4e4f4g4h4a5b5c5            b6  d6          b7    e7        b8      f8    ]
[    c1    f1    a2  c2  e2        b3c3d3        a4b4  d4e4f4g4h4  b5c5d5        a6  c6  e6          c7    f7        c8      g8  ]
[a1    d1    g1    b2  d2  f2        c3d3e3      a4b4c4  e4f4g4h4    c5d5e5        b6  d6  f6    a7    d7    g7        d8      h8]
[  b1    e1    h1    c2  e2  g2        d3e3f3    a4b4c4d4  f4g4h4      d5e5f5        c6  e6  g6    b7    e7    h7a8      e8      ]
[    c1    f1          d2  f2  h2        e3f3g3  a4b4c4d4e4  g4h4        e5f5g5        d6  f6  h6    c7    f7      b8      f8    ]
[      d1    g1          e2  g2            f3g3h3a4b4c4d4e4f4  h4          f5g5h5        e6  g6        d7    g7      c8      g8  ]
[        e1    h1          f2  h2            g3h3a4b4c4d4e4f4g4              g5h5          f6  h6        e7    h7      d8      h8]
[a1      e1      a2    d2        a3  c3          a4b4              b5c5d5e5f5g5h5a6b6            a7  c7          a8    d8        ]
[  b1      f1      b2    e2        b3  d3        a4b4c4          a5  c5d5e5f5g5h5a6b6c6            b7  d7          b8    e8      ]
[    c1      g1      c2    f2    a3  c3  e3        b4c4d4        a5b5  d5e5f5g5h5  b6c6d6        a7  c7  e7          c8    f8    ]
[      d1      h1a2    d2    g2    b3  d3  f3        c4d4e4      a5b5c5  e5f5g5h5    c6d6e6        b7  d7  f7    a8    d8    g8  ]
[a1      e1        b2    e2    h2    c3  e3  g3        d4e4f4    a5b5c5d5  f5g5h5      d6e6f6        c7  e7  g7    b8    e8    h8]
[  b1      f1        c2    f2          d3  f3  h3        e4f4g4  a5b5c5d5e5  g5h5        e6f6g6        d7  f7  h7    c8    f8    ]
[    c1      g1        d2    g2          e3  g3            f4g4h4a5b5c5d5e5f5  h5          f6g6h6        e7  g7        d8    g8  ]
[      d1      h1        e2    h2          f3  h3            g4h4a5b5c5d5e5f5g5              g6h6          f7  h7        e8    h8]
[a1        f1    a2      e2      a3    d3        a4  c4          a5b5              b6c6d6e6f6g6h6a7b7            a8  c8          ]
[  b1        g1    b2      f2      b3    e3        b4  d4        a5b5c5          a6  c6d6e6f6g6h6a7b7c7            b8  d8        ]
[    c1        h1    c2      g2      c3    f3    a4  c4  e4        b5c5d5        a6b6  d6e6f6g6h6  b7c7d7        a8  c8  e8      ]
[      d1              d2      h2a3    d3    g3    b4  d4  f4        c5d5e5      a6b6c6  e6f6g6h6    c7d7e7        b8  d8  f8    ]
[        e1      a2      e2        b3    e3    h3    c4  e4  g4        d5e5f5    a6b6c6d6  f6g6h6      d7e7f7        c8  e8  g8  ]
[a1        f1      b2      f2        c3    f3          d4  f4  h4        e5f5g5  a6b6c6d6e6  g6h6        e7f7g7        d8  f8  h8]
[  b1        g1      c2      g2        d3    g3          e4  g4            f5g5h5a6b6c6d6e6f6  h6          f7g7h7        e8  g8  ]
[    c1        h1      d2      h2        e3    h3          f4  h4            g5h5a6b6c6d6e6f6g6              g7h7          f8  h8]
[a1          g1  a2        f2    a3      e3      a4    d4        a5  c5          a6b6              b7c7d7e7f7g7h7a8b8            ]
[  b1          h1  b2        g2    b3      f3      b4    e4        b5  d5        a6b6c6          a7  c7d7e7f7g7h7a8b8c8          ]
[    c1              c2        h2    c3      g3      c4    f4    a5  c5  e5        b6c6d6        a7b7  d7e7f7g7h7  b8c8d8        ]
[      d1              d2              d3      h3a4    d4    g4    b5  d5  f5        c6d6e6      a7b7c7  e7f7g7h7    c8d8e8      ]
[        e1              e2      a3      e3        b4    e4    h4    c5  e5  g5        d6e6f6    a7b7c7d7  f7g7h7      d8e8f8    ]
[          f1    a2        f2      b3      f3        c4    f4          d5  f5  h5        e6f6g6  a7b7c7d7e7  g7h7        e8f8g8  ]
[a1          g1    b2        g2      c3      g3        d4    g4          e5  g5            f6g6h6a7b7c7d7e7f7  h7          f8g8h8]
[  b1          h1    c2        h2      d3      h3        e4    h4          f5  h5            g6h6a7b7c7d7e7f7g7              g8h8]
[a1            h1a2          g2  a3        f3    a4      e4      a5    d5        a6  c6          a7b7              b8c8d8e8f8g8h8]
[  b1              b2          h2  b3        g3    b4      f4      b5    e5        b6  d6        a7b7c7          a8  c8d8e8f8g8h8]
[    c1              c2              c3        h3    c4      g4      c5    f5    a6  c6  e6        b7c7d7        a8b8  d8e8f8g8h8]
[      d1              d2              d3              d4      h4a5    d5    g5    b6  d6  f6        c7d7e7      a8b8c8  e8f8g8h8]
[        e1              e2              e3      a4      e4        b5    e5    h5    c6  e6  g6        d7e7f7    a8b8c8d8  f8g8h8]
[          f1              f2    a3        f3      b4      f4        c5    f5          d6  f6  h6        e7f7g7  a8b8c8d8e8  g8h8]
[            g1  a2          g2    b3        g3      c4      g4        d5    g5          e6  g6            f7g7h7a8b8c8d8e8f8  h8]
[a1            h1  b2          h2    c3        h3      d4      h4        e5    h5          f6  h6            g7h7a8b8c8d8e8f8g8  ]
NIL

Code: Select all

> (dotimes (sq sq-limit) (encode-bb-big t (svref knight-attack-bb-vec sq)) (terpri))
[                    c2            b3                                                                                            ]
[                      d2        a3  c3                                                                                          ]
[                a2      e2        b3  d3                                                                                        ]
[                  b2      f2        c3  e3                                                                                      ]
[                    c2      g2        d3  f3                                                                                    ]
[                      d2      h2        e3  g3                                                                                  ]
[                        e2                f3  h3                                                                                ]
[                          f2                g3                                                                                  ]
[    c1                              c3            b4                                                                            ]
[      d1                              d3        a4  c4                                                                          ]
[a1      e1                      a3      e3        b4  d4                                                                        ]
[  b1      f1                      b3      f3        c4  e4                                                                      ]
[    c1      g1                      c3      g3        d4  f4                                                                    ]
[      d1      h1                      d3      h3        e4  g4                                                                  ]
[        e1                              e3                f4  h4                                                                ]
[          f1                              f3                g4                                                                  ]
[  b1                c2                              c4            b5                                                            ]
[a1  c1                d2                              d4        a5  c5                                                          ]
[  b1  d1        a2      e2                      a4      e4        b5  d5                                                        ]
[    c1  e1        b2      f2                      b4      f4        c5  e5                                                      ]
[      d1  f1        c2      g2                      c4      g4        d5  f5                                                    ]
[        e1  g1        d2      h2                      d4      h4        e5  g5                                                  ]
[          f1  h1        e2                              e4                f5  h5                                                ]
[            g1            f2                              f4                g5                                                  ]
[                  b2                c3                              c5            b6                                            ]
[                a2  c2                d3                              d5        a6  c6                                          ]
[                  b2  d2        a3      e3                      a5      e5        b6  d6                                        ]
[                    c2  e2        b3      f3                      b5      f5        c6  e6                                      ]
[                      d2  f2        c3      g3                      c5      g5        d6  f6                                    ]
[                        e2  g2        d3      h3                      d5      h5        e6  g6                                  ]
[                          f2  h2        e3                              e5                f6  h6                                ]
[                            g2            f3                              f5                g6                                  ]
[                                  b3                c4                              c6            b7                            ]
[                                a3  c3                d4                              d6        a7  c7                          ]
[                                  b3  d3        a4      e4                      a6      e6        b7  d7                        ]
[                                    c3  e3        b4      f4                      b6      f6        c7  e7                      ]
[                                      d3  f3        c4      g4                      c6      g6        d7  f7                    ]
[                                        e3  g3        d4      h4                      d6      h6        e7  g7                  ]
[                                          f3  h3        e4                              e6                f7  h7                ]
[                                            g3            f4                              f6                g7                  ]
[                                                  b4                c5                              c7            b8            ]
[                                                a4  c4                d5                              d7        a8  c8          ]
[                                                  b4  d4        a5      e5                      a7      e7        b8  d8        ]
[                                                    c4  e4        b5      f5                      b7      f7        c8  e8      ]
[                                                      d4  f4        c5      g5                      c7      g7        d8  f8    ]
[                                                        e4  g4        d5      h5                      d7      h7        e8  g8  ]
[                                                          f4  h4        e5                              e7                f8  h8]
[                                                            g4            f5                              f7                g8  ]
[                                                                  b5                c6                              c8          ]
[                                                                a5  c5                d6                              d8        ]
[                                                                  b5  d5        a6      e6                      a8      e8      ]
[                                                                    c5  e5        b6      f6                      b8      f8    ]
[                                                                      d5  f5        c6      g6                      c8      g8  ]
[                                                                        e5  g5        d6      h6                      d8      h8]
[                                                                          f5  h5        e6                              e8      ]
[                                                                            g5            f6                              f8    ]
[                                                                                  b6                c7                          ]
[                                                                                a6  c6                d7                        ]
[                                                                                  b6  d6        a7      e7                      ]
[                                                                                    c6  e6        b7      f7                    ]
[                                                                                      d6  f6        c7      g7                  ]
[                                                                                        e6  g6        d7      h7                ]
[                                                                                          f6  h6        e7                      ]
[                                                                                            g6            f7                    ]
NIL

Code: Select all

> (dotimes (sq sq-limit) (encode-bb-big t (svref king-attack-bb-vec sq)) (terpri))
[  b1            a2b2                                                                                                            ]
[a1  c1          a2b2c2                                                                                                          ]
[  b1  d1          b2c2d2                                                                                                        ]
[    c1  e1          c2d2e2                                                                                                      ]
[      d1  f1          d2e2f2                                                                                                    ]
[        e1  g1          e2f2g2                                                                                                  ]
[          f1  h1          f2g2h2                                                                                                ]
[            g1              g2h2                                                                                                ]
[a1b1              b2            a3b3                                                                                            ]
[a1b1c1          a2  c2          a3b3c3                                                                                          ]
[  b1c1d1          b2  d2          b3c3d3                                                                                        ]
[    c1d1e1          c2  e2          c3d3e3                                                                                      ]
[      d1e1f1          d2  f2          d3e3f3                                                                                    ]
[        e1f1g1          e2  g2          e3f3g3                                                                                  ]
[          f1g1h1          f2  h2          f3g3h3                                                                                ]
[            g1h1            g2              g3h3                                                                                ]
[                a2b2              b3            a4b4                                                                            ]
[                a2b2c2          a3  c3          a4b4c4                                                                          ]
[                  b2c2d2          b3  d3          b4c4d4                                                                        ]
[                    c2d2e2          c3  e3          c4d4e4                                                                      ]
[                      d2e2f2          d3  f3          d4e4f4                                                                    ]
[                        e2f2g2          e3  g3          e4f4g4                                                                  ]
[                          f2g2h2          f3  h3          f4g4h4                                                                ]
[                            g2h2            g3              g4h4                                                                ]
[                                a3b3              b4            a5b5                                                            ]
[                                a3b3c3          a4  c4          a5b5c5                                                          ]
[                                  b3c3d3          b4  d4          b5c5d5                                                        ]
[                                    c3d3e3          c4  e4          c5d5e5                                                      ]
[                                      d3e3f3          d4  f4          d5e5f5                                                    ]
[                                        e3f3g3          e4  g4          e5f5g5                                                  ]
[                                          f3g3h3          f4  h4          f5g5h5                                                ]
[                                            g3h3            g4              g5h5                                                ]
[                                                a4b4              b5            a6b6                                            ]
[                                                a4b4c4          a5  c5          a6b6c6                                          ]
[                                                  b4c4d4          b5  d5          b6c6d6                                        ]
[                                                    c4d4e4          c5  e5          c6d6e6                                      ]
[                                                      d4e4f4          d5  f5          d6e6f6                                    ]
[                                                        e4f4g4          e5  g5          e6f6g6                                  ]
[                                                          f4g4h4          f5  h5          f6g6h6                                ]
[                                                            g4h4            g5              g6h6                                ]
[                                                                a5b5              b6            a7b7                            ]
[                                                                a5b5c5          a6  c6          a7b7c7                          ]
[                                                                  b5c5d5          b6  d6          b7c7d7                        ]
[                                                                    c5d5e5          c6  e6          c7d7e7                      ]
[                                                                      d5e5f5          d6  f6          d7e7f7                    ]
[                                                                        e5f5g5          e6  g6          e7f7g7                  ]
[                                                                          f5g5h5          f6  h6          f7g7h7                ]
[                                                                            g5h5            g6              g7h7                ]
[                                                                                a6b6              b7            a8b8            ]
[                                                                                a6b6c6          a7  c7          a8b8c8          ]
[                                                                                  b6c6d6          b7  d7          b8c8d8        ]
[                                                                                    c6d6e6          c7  e7          c8d8e8      ]
[                                                                                      d6e6f6          d7  f7          d8e8f8    ]
[                                                                                        e6f6g6          e7  g7          e8f8g8  ]
[                                                                                          f6g6h6          f7  h7          f8g8h8]
[                                                                                            g6h6            g7              g8h8]
[                                                                                                a7b7              b8            ]
[                                                                                                a7b7c7          a8  c8          ]
[                                                                                                  b7c7d7          b8  d8        ]
[                                                                                                    c7d7e7          c8  e8      ]
[                                                                                                      d7e7f7          d8  f8    ]
[                                                                                                        e7f7g7          e8  g8  ]
[                                                                                                          f7g7h7          f8  h8]
[                                                                                                            g7h7            g8  ]
NIL
tvrzsky
Posts: 128
Joined: Sat Sep 23, 2006 7:10 pm
Location: Prague

Re: Pretty pictures; need wide display

Post by tvrzsky »

Very nice. Does it really play chess or is it some kind of ASCII art? :D
Seriously: I don't know Lisp, so forgive me such dumb question. I wonder if this formatting is for some other reason than readability of the code.
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Pretty pictures; need wide display

Post by sje »

tvrzsky wrote:Very nice. Does it really play chess or is it some kind of ASCII art? :D
It's just some accidental art.
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Knight and sweeper attacks merged

Post by sje »

I recall an old ICCAJ article that called square/square arrays like these "butterfly boards". It's a nice name, but I'm unable to see any butterflies.

Code: Select all

> (dotimes (sq sq-limit) (encode-bb-big t (bit-ior (svref knight-attack-bb-vec sq) (svref sweep-attack-bb-vec sq))) (terpri)) 
[  b1c1d1e1f1g1h1a2b2c2          a3b3c3          a4    d4        a5      e5      a6        f6    a7          g7  a8            h8]
[a1  c1d1e1f1g1h1a2b2c2d2        a3b3c3d3          b4    e4        b5      f5      b6        g6    b7          h7  b8            ]
[a1b1  d1e1f1g1h1a2b2c2d2e2      a3b3c3d3e3          c4    f4        c5      g5      c6        h6    c7              c8          ]
[a1b1c1  e1f1g1h1  b2c2d2e2f2      b3c3d3e3f3    a4    d4    g4        d5      h5      d6              d7              d8        ]
[a1b1c1d1  f1g1h1    c2d2e2f2g2      c3d3e3f3g3    b4    e4    h4a5      e5              e6              e7              e8      ]
[a1b1c1d1e1  g1h1      d2e2f2g2h2      d3e3f3g3h3    c4    f4      b5      f5    a6        f6              f7              f8    ]
[a1b1c1d1e1f1  h1        e2f2g2h2        e3f3g3h3      d4    g4      c5      g5    b6        g6  a7          g7              g8  ]
[a1b1c1d1e1f1g1            f2g2h2          f3g3h3        e4    h4      d5      h5    c6        h6  b7          h7a8            h8]
[a1b1c1            b2c2d2e2f2g2h2a3b3c3          a4b4c4          a5    d5        a6      e6      a7        f7    a8          g8  ]
[a1b1c1d1        a2  c2d2e2f2g2h2a3b3c3d3        a4b4c4d4          b5    e5        b6      f6      b7        g7    b8          h8]
[a1b1c1d1e1      a2b2  d2e2f2g2h2a3b3c3d3e3      a4b4c4d4e4          c5    f5        c6      g6      c7        h7    c8          ]
[  b1c1d1e1f1    a2b2c2  e2f2g2h2  b3c3d3e3f3      b4c4d4e4f4    a5    d5    g5        d6      h6      d7              d8        ]
[    c1d1e1f1g1  a2b2c2d2  f2g2h2    c3d3e3f3g3      c4d4e4f4g4    b5    e5    h5a6      e6              e7              e8      ]
[      d1e1f1g1h1a2b2c2d2e2  g2h2      d3e3f3g3h3      d4e4f4g4h4    c5    f5      b6      f6    a7        f7              f8    ]
[        e1f1g1h1a2b2c2d2e2f2  h2        e3f3g3h3        e4f4g4h4      d5    g5      c6      g6    b7        g7  a8          g8  ]
[          f1g1h1a2b2c2d2e2f2g2            f3g3h3          f4g4h4        e5    h5      d6      h6    c7        h7  b8          h8]
[a1b1c1          a2b2c2            b3c3d3e3f3g3h3a4b4c4          a5b5c5          a6    d6        a7      e7      a8        f8    ]
[a1b1c1d1        a2b2c2d2        a3  c3d3e3f3g3h3a4b4c4d4        a5b5c5d5          b6    e6        b7      f7      b8        g8  ]
[a1b1c1d1e1      a2b2c2d2e2      a3b3  d3e3f3g3h3a4b4c4d4e4      a5b5c5d5e5          c6    f6        c7      g7      c8        h8]
[  b1c1d1e1f1      b2c2d2e2f2    a3b3c3  e3f3g3h3  b4c4d4e4f4      b5c5d5e5f5    a6    d6    g6        d7      h7      d8        ]
[    c1d1e1f1g1      c2d2e2f2g2  a3b3c3d3  f3g3h3    c4d4e4f4g4      c5d5e5f5g5    b6    e6    h6a7      e7              e8      ]
[      d1e1f1g1h1      d2e2f2g2h2a3b3c3d3e3  g3h3      d4e4f4g4h4      d5e5f5g5h5    c6    f6      b7      f7    a8        f8    ]
[        e1f1g1h1        e2f2g2h2a3b3c3d3e3f3  h3        e4f4g4h4        e5f5g5h5      d6    g6      c7      g7    b8        g8  ]
[          f1g1h1          f2g2h2a3b3c3d3e3f3g3            f4g4h4          f5g5h5        e6    h6      d7      h7    c8        h8]
[a1    d1        a2b2c2          a3b3c3            b4c4d4e4f4g4h4a5b5c5          a6b6c6          a7    d7        a8      e8      ]
[  b1    e1      a2b2c2d2        a3b3c3d3        a4  c4d4e4f4g4h4a5b5c5d5        a6b6c6d6          b7    e7        b8      f8    ]
[    c1    f1    a2b2c2d2e2      a3b3c3d3e3      a4b4  d4e4f4g4h4a5b5c5d5e5      a6b6c6d6e6          c7    f7        c8      g8  ]
[a1    d1    g1    b2c2d2e2f2      b3c3d3e3f3    a4b4c4  e4f4g4h4  b5c5d5e5f5      b6c6d6e6f6    a7    d7    g7        d8      h8]
[  b1    e1    h1    c2d2e2f2g2      c3d3e3f3g3  a4b4c4d4  f4g4h4    c5d5e5f5g5      c6d6e6f6g6    b7    e7    h7a8      e8      ]
[    c1    f1          d2e2f2g2h2      d3e3f3g3h3a4b4c4d4e4  g4h4      d5e5f5g5h5      d6e6f6g6h6    c7    f7      b8      f8    ]
[      d1    g1          e2f2g2h2        e3f3g3h3a4b4c4d4e4f4  h4        e5f5g5h5        e6f6g6h6      d7    g7      c8      g8  ]
[        e1    h1          f2g2h2          f3g3h3a4b4c4d4e4f4g4            f5g5h5          f6g6h6        e7    h7      d8      h8]
[a1      e1      a2    d2        a3b3c3          a4b4c4            b5c5d5e5f5g5h5a6b6c6          a7b7c7          a8    d8        ]
[  b1      f1      b2    e2      a3b3c3d3        a4b4c4d4        a5  c5d5e5f5g5h5a6b6c6d6        a7b7c7d7          b8    e8      ]
[    c1      g1      c2    f2    a3b3c3d3e3      a4b4c4d4e4      a5b5  d5e5f5g5h5a6b6c6d6e6      a7b7c7d7e7          c8    f8    ]
[      d1      h1a2    d2    g2    b3c3d3e3f3      b4c4d4e4f4    a5b5c5  e5f5g5h5  b6c6d6e6f6      b7c7d7e7f7    a8    d8    g8  ]
[a1      e1        b2    e2    h2    c3d3e3f3g3      c4d4e4f4g4  a5b5c5d5  f5g5h5    c6d6e6f6g6      c7d7e7f7g7    b8    e8    h8]
[  b1      f1        c2    f2          d3e3f3g3h3      d4e4f4g4h4a5b5c5d5e5  g5h5      d6e6f6g6h6      d7e7f7g7h7    c8    f8    ]
[    c1      g1        d2    g2          e3f3g3h3        e4f4g4h4a5b5c5d5e5f5  h5        e6f6g6h6        e7f7g7h7      d8    g8  ]
[      d1      h1        e2    h2          f3g3h3          f4g4h4a5b5c5d5e5f5g5            f6g6h6          f7g7h7        e8    h8]
[a1        f1    a2      e2      a3    d3        a4b4c4          a5b5c5            b6c6d6e6f6g6h6a7b7c7          a8b8c8          ]
[  b1        g1    b2      f2      b3    e3      a4b4c4d4        a5b5c5d5        a6  c6d6e6f6g6h6a7b7c7d7        a8b8c8d8        ]
[    c1        h1    c2      g2      c3    f3    a4b4c4d4e4      a5b5c5d5e5      a6b6  d6e6f6g6h6a7b7c7d7e7      a8b8c8d8e8      ]
[      d1              d2      h2a3    d3    g3    b4c4d4e4f4      b5c5d5e5f5    a6b6c6  e6f6g6h6  b7c7d7e7f7      b8c8d8e8f8    ]
[        e1      a2      e2        b3    e3    h3    c4d4e4f4g4      c5d5e5f5g5  a6b6c6d6  f6g6h6    c7d7e7f7g7      c8d8e8f8g8  ]
[a1        f1      b2      f2        c3    f3          d4e4f4g4h4      d5e5f5g5h5a6b6c6d6e6  g6h6      d7e7f7g7h7      d8e8f8g8h8]
[  b1        g1      c2      g2        d3    g3          e4f4g4h4        e5f5g5h5a6b6c6d6e6f6  h6        e7f7g7h7        e8f8g8h8]
[    c1        h1      d2      h2        e3    h3          f4g4h4          f5g5h5a6b6c6d6e6f6g6            f7g7h7          f8g8h8]
[a1          g1  a2        f2    a3      e3      a4    d4        a5b5c5          a6b6c6            b7c7d7e7f7g7h7a8b8c8          ]
[  b1          h1  b2        g2    b3      f3      b4    e4      a5b5c5d5        a6b6c6d6        a7  c7d7e7f7g7h7a8b8c8d8        ]
[    c1              c2        h2    c3      g3      c4    f4    a5b5c5d5e5      a6b6c6d6e6      a7b7  d7e7f7g7h7a8b8c8d8e8      ]
[      d1              d2              d3      h3a4    d4    g4    b5c5d5e5f5      b6c6d6e6f6    a7b7c7  e7f7g7h7  b8c8d8e8f8    ]
[        e1              e2      a3      e3        b4    e4    h4    c5d5e5f5g5      c6d6e6f6g6  a7b7c7d7  f7g7h7    c8d8e8f8g8  ]
[          f1    a2        f2      b3      f3        c4    f4          d5e5f5g5h5      d6e6f6g6h6a7b7c7d7e7  g7h7      d8e8f8g8h8]
[a1          g1    b2        g2      c3      g3        d4    g4          e5f5g5h5        e6f6g6h6a7b7c7d7e7f7  h7        e8f8g8h8]
[  b1          h1    c2        h2      d3      h3        e4    h4          f5g5h5          f6g6h6a7b7c7d7e7f7g7            f8g8h8]
[a1            h1a2          g2  a3        f3    a4      e4      a5    d5        a6b6c6          a7b7c7            b8c8d8e8f8g8h8]
[  b1              b2          h2  b3        g3    b4      f4      b5    e5      a6b6c6d6        a7b7c7d7        a8  c8d8e8f8g8h8]
[    c1              c2              c3        h3    c4      g4      c5    f5    a6b6c6d6e6      a7b7c7d7e7      a8b8  d8e8f8g8h8]
[      d1              d2              d3              d4      h4a5    d5    g5    b6c6d6e6f6      b7c7d7e7f7    a8b8c8  e8f8g8h8]
[        e1              e2              e3      a4      e4        b5    e5    h5    c6d6e6f6g6      c7d7e7f7g7  a8b8c8d8  f8g8h8]
[          f1              f2    a3        f3      b4      f4        c5    f5          d6e6f6g6h6      d7e7f7g7h7a8b8c8d8e8  g8h8]
[            g1  a2          g2    b3        g3      c4      g4        d5    g5          e6f6g6h6        e7f7g7h7a8b8c8d8e8f8  h8]
[a1            h1  b2          h2    c3        h3      d4      h4        e5    h5          f6g6h6          f7g7h7a8b8c8d8e8f8g8  ]
NIL
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Pretty pictures; need wide display

Post by sje »

Here's the "attacks from a square" vector for the initial array:

Code: Select all

> (dotimes (sq sq-limit) (encode-bb-big t (svref (pos-atk-fr-sq-bb-vec pos0) sq)) (terpri))
[  b1            a2                                                                                                              ]
[                      d2        a3  c3                                                                                          ]
[                  b2  d2                                                                                                        ]
[    c1  e1          c2d2e2                                                                                                      ]
[      d1  f1          d2e2f2                                                                                                    ]
[                        e2  g2                                                                                                  ]
[                        e2                f3  h3                                                                                ]
[            g1                h2                                                                                                ]
[                                  b3                                                                                            ]
[                                a3  c3                                                                                          ]
[                                  b3  d3                                                                                        ]
[                                    c3  e3                                                                                      ]
[                                      d3  f3                                                                                    ]
[                                        e3  g3                                                                                  ]
[                                          f3  h3                                                                                ]
[                                            g3                                                                                  ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                                                                ]
[                                                                                  b6                                            ]
[                                                                                a6  c6                                          ]
[                                                                                  b6  d6                                        ]
[                                                                                    c6  e6                                      ]
[                                                                                      d6  f6                                    ]
[                                                                                        e6  g6                                  ]
[                                                                                          f6  h6                                ]
[                                                                                            g6                                  ]
[                                                                                                a7                b8            ]
[                                                                                a6  c6                d7                        ]
[                                                                                                  b7  d7                        ]
[                                                                                                    c7d7e7          c8  e8      ]
[                                                                                                      d7e7f7          d8  f8    ]
[                                                                                                        e7  g7                  ]
[                                                                                          f6  h6        e7                      ]
[                                                                                                              h7            g8  ]
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Intersquare direction vector

Post by sje »

Code: Select all

(defun encode-intersquare-dir-vec (my-stream)
  "Encode the intersquare direction vector on the given stream."
  (dotimes (fr-sq sq-limit)
    (format my-stream "~C" ascii-brack-l)
      (dotimes (to-sq sq-limit)
        (let ((dir (aref intersquare-dir-vec fr-sq to-sq)))
          (if dir
            (format my-stream " ~C" (elt aclc-dir-str dir))
            (format my-stream "  "))))
    (format my-stream "~C~%" ascii-brack-r)))

Code: Select all

> (encode-intersquare-dir-vec t)
[   0 0 0 0 0 0 0 1 4 8           1 9 4           1     4         1       4       1         4     1           4   1             4]
[ 2   0 0 0 0 0 0 5 1 4 8         a 1 9 4           1     4         1       4       1         4     1           4   1            ]
[ 2 2   0 0 0 0 0 b 5 1 4 8       5 a 1 9 4           1     4         1       4       1         4     1               1          ]
[ 2 2 2   0 0 0 0   b 5 1 4 8       5 a 1 9 4     5     1     4         1       4       1               1               1        ]
[ 2 2 2 2   0 0 0     b 5 1 4 8       5 a 1 9 4     5     1     4 5       1               1               1               1      ]
[ 2 2 2 2 2   0 0       b 5 1 4 8       5 a 1 9 4     5     1       5       1     5         1               1               1    ]
[ 2 2 2 2 2 2   0         b 5 1 4         5 a 1 9       5     1       5       1     5         1   5           1               1  ]
[ 2 2 2 2 2 2 2             b 5 1           5 a 1         5     1       5       1     5         1   5           1 5             1]
[ 3 7 f             0 0 0 0 0 0 0 1 4 8           1 9 4           1     4         1       4       1         4     1           4  ]
[ 6 3 7 f         2   0 0 0 0 0 0 5 1 4 8         a 1 9 4           1     4         1       4       1         4     1           4]
[ c 6 3 7 f       2 2   0 0 0 0 0 b 5 1 4 8       5 a 1 9 4           1     4         1       4       1         4     1          ]
[   c 6 3 7 f     2 2 2   0 0 0 0   b 5 1 4 8       5 a 1 9 4     5     1     4         1       4       1               1        ]
[     c 6 3 7 f   2 2 2 2   0 0 0     b 5 1 4 8       5 a 1 9 4     5     1     4 5       1               1               1      ]
[       c 6 3 7 f 2 2 2 2 2   0 0       b 5 1 4 8       5 a 1 9 4     5     1       5       1     5         1               1    ]
[         c 6 3 7 2 2 2 2 2 2   0         b 5 1 4         5 a 1 9       5     1       5       1     5         1   5           1  ]
[           c 6 3 2 2 2 2 2 2 2             b 5 1           5 a 1         5     1       5       1     5         1   5           1]
[ 3 e 7           3 7 f             0 0 0 0 0 0 0 1 4 8           1 9 4           1     4         1       4       1         4    ]
[ d 3 e 7         6 3 7 f         2   0 0 0 0 0 0 5 1 4 8         a 1 9 4           1     4         1       4       1         4  ]
[ 6 d 3 e 7       c 6 3 7 f       2 2   0 0 0 0 0 b 5 1 4 8       5 a 1 9 4           1     4         1       4       1         4]
[   6 d 3 e 7       c 6 3 7 f     2 2 2   0 0 0 0   b 5 1 4 8       5 a 1 9 4     5     1     4         1       4       1        ]
[     6 d 3 e 7       c 6 3 7 f   2 2 2 2   0 0 0     b 5 1 4 8       5 a 1 9 4     5     1     4 5       1               1      ]
[       6 d 3 e 7       c 6 3 7 f 2 2 2 2 2   0 0       b 5 1 4 8       5 a 1 9 4     5     1       5       1     5         1    ]
[         6 d 3 e         c 6 3 7 2 2 2 2 2 2   0         b 5 1 4         5 a 1 9       5     1       5       1     5         1  ]
[           6 d 3           c 6 3 2 2 2 2 2 2 2             b 5 1           5 a 1         5     1       5       1     5         1]
[ 3     7         3 e 7           3 7 f             0 0 0 0 0 0 0 1 4 8           1 9 4           1     4         1       4      ]
[   3     7       d 3 e 7         6 3 7 f         2   0 0 0 0 0 0 5 1 4 8         a 1 9 4           1     4         1       4    ]
[     3     7     6 d 3 e 7       c 6 3 7 f       2 2   0 0 0 0 0 b 5 1 4 8       5 a 1 9 4           1     4         1       4  ]
[ 6     3     7     6 d 3 e 7       c 6 3 7 f     2 2 2   0 0 0 0   b 5 1 4 8       5 a 1 9 4     5     1     4         1       4]
[   6     3     7     6 d 3 e 7       c 6 3 7 f   2 2 2 2   0 0 0     b 5 1 4 8       5 a 1 9 4     5     1     4 5       1      ]
[     6     3           6 d 3 e 7       c 6 3 7 f 2 2 2 2 2   0 0       b 5 1 4 8       5 a 1 9 4     5     1       5       1    ]
[       6     3           6 d 3 e         c 6 3 7 2 2 2 2 2 2   0         b 5 1 4         5 a 1 9       5     1       5       1  ]
[         6     3           6 d 3           c 6 3 2 2 2 2 2 2 2             b 5 1           5 a 1         5     1       5       1]
[ 3       7       3     7         3 e 7           3 7 f             0 0 0 0 0 0 0 1 4 8           1 9 4           1     4        ]
[   3       7       3     7       d 3 e 7         6 3 7 f         2   0 0 0 0 0 0 5 1 4 8         a 1 9 4           1     4      ]
[     3       7       3     7     6 d 3 e 7       c 6 3 7 f       2 2   0 0 0 0 0 b 5 1 4 8       5 a 1 9 4           1     4    ]
[       3       7 6     3     7     6 d 3 e 7       c 6 3 7 f     2 2 2   0 0 0 0   b 5 1 4 8       5 a 1 9 4     5     1     4  ]
[ 6       3         6     3     7     6 d 3 e 7       c 6 3 7 f   2 2 2 2   0 0 0     b 5 1 4 8       5 a 1 9 4     5     1     4]
[   6       3         6     3           6 d 3 e 7       c 6 3 7 f 2 2 2 2 2   0 0       b 5 1 4 8       5 a 1 9 4     5     1    ]
[     6       3         6     3           6 d 3 e         c 6 3 7 2 2 2 2 2 2   0         b 5 1 4         5 a 1 9       5     1  ]
[       6       3         6     3           6 d 3           c 6 3 2 2 2 2 2 2 2             b 5 1           5 a 1         5     1]
[ 3         7     3       7       3     7         3 e 7           3 7 f             0 0 0 0 0 0 0 1 4 8           1 9 4          ]
[   3         7     3       7       3     7       d 3 e 7         6 3 7 f         2   0 0 0 0 0 0 5 1 4 8         a 1 9 4        ]
[     3         7     3       7       3     7     6 d 3 e 7       c 6 3 7 f       2 2   0 0 0 0 0 b 5 1 4 8       5 a 1 9 4      ]
[       3               3       7 6     3     7     6 d 3 e 7       c 6 3 7 f     2 2 2   0 0 0 0   b 5 1 4 8       5 a 1 9 4    ]
[         3       6       3         6     3     7     6 d 3 e 7       c 6 3 7 f   2 2 2 2   0 0 0     b 5 1 4 8       5 a 1 9 4  ]
[ 6         3       6       3         6     3           6 d 3 e 7       c 6 3 7 f 2 2 2 2 2   0 0       b 5 1 4 8       5 a 1 9 4]
[   6         3       6       3         6     3           6 d 3 e         c 6 3 7 2 2 2 2 2 2   0         b 5 1 4         5 a 1 9]
[     6         3       6       3         6     3           6 d 3           c 6 3 2 2 2 2 2 2 2             b 5 1           5 a 1]
[ 3           7   3         7     3       7       3     7         3 e 7           3 7 f             0 0 0 0 0 0 0 1 4 8          ]
[   3           7   3         7     3       7       3     7       d 3 e 7         6 3 7 f         2   0 0 0 0 0 0 5 1 4 8        ]
[     3               3         7     3       7       3     7     6 d 3 e 7       c 6 3 7 f       2 2   0 0 0 0 0 b 5 1 4 8      ]
[       3               3               3       7 6     3     7     6 d 3 e 7       c 6 3 7 f     2 2 2   0 0 0 0   b 5 1 4 8    ]
[         3               3       6       3         6     3     7     6 d 3 e 7       c 6 3 7 f   2 2 2 2   0 0 0     b 5 1 4 8  ]
[           3     6         3       6       3         6     3           6 d 3 e 7       c 6 3 7 f 2 2 2 2 2   0 0       b 5 1 4 8]
[ 6           3     6         3       6       3         6     3           6 d 3 e         c 6 3 7 2 2 2 2 2 2   0         b 5 1 4]
[   6           3     6         3       6       3         6     3           6 d 3           c 6 3 2 2 2 2 2 2 2             b 5 1]
[ 3             7 3           7   3         7     3       7       3     7         3 e 7           3 7 f             0 0 0 0 0 0 0]
[   3               3           7   3         7     3       7       3     7       d 3 e 7         6 3 7 f         2   0 0 0 0 0 0]
[     3               3               3         7     3       7       3     7     6 d 3 e 7       c 6 3 7 f       2 2   0 0 0 0 0]
[       3               3               3               3       7 6     3     7     6 d 3 e 7       c 6 3 7 f     2 2 2   0 0 0 0]
[         3               3               3       6       3         6     3     7     6 d 3 e 7       c 6 3 7 f   2 2 2 2   0 0 0]
[           3               3     6         3       6       3         6     3           6 d 3 e 7       c 6 3 7 f 2 2 2 2 2   0 0]
[             3   6           3     6         3       6       3         6     3           6 d 3 e         c 6 3 7 2 2 2 2 2 2   0]
[ 6             3   6           3     6         3       6       3         6     3           6 d 3           c 6 3 2 2 2 2 2 2 2  ]
NIL
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Intersquare pathway lengths

Post by sje »

Code: Select all

(defun encode-intersquare-bb-vec (my-stream)
  "Encode the intersquare pathway vector on the given stream."
  (dotimes (fr-sq sq-limit)
    (format my-stream "~C" ascii-brack-l)
      (dotimes (to-sq sq-limit)
        (let ((dir (aref intersquare-dir-vec fr-sq to-sq)))
          (if (and dir (is-dir-sweep? dir))
            (format my-stream " ~D" (card (aref intersquare-bb-vec fr-sq to-sq)))
            (format my-stream "  "))))
    (format my-stream "~C~%" ascii-brack-r)))

Code: Select all

> (encode-intersquare-bb-vec t)
[   0 1 2 3 4 5 6 0 0             1   1           2     2         3       3       4         4     5           5   6             6]
[ 0   0 1 2 3 4 5 0 0 0             1   1           2     2         3       3       4         4     5           5   6            ]
[ 1 0   0 1 2 3 4   0 0 0         1   1   1           2     2         3       3       4         4     5               6          ]
[ 2 1 0   0 1 2 3     0 0 0         1   1   1     2     2     2         3       3       4               5               6        ]
[ 3 2 1 0   0 1 2       0 0 0         1   1   1     2     2     2 3       3               4               5               6      ]
[ 4 3 2 1 0   0 1         0 0 0         1   1   1     2     2       3       3     4         4               5               6    ]
[ 5 4 3 2 1 0   0           0 0 0         1   1         2     2       3       3     4         4   5           5               6  ]
[ 6 5 4 3 2 1 0               0 0           1   1         2     2       3       3     4         4   5           5 6             6]
[ 0 0               0 1 2 3 4 5 6 0 0             1   1           2     2         3       3       4         4     5           5  ]
[ 0 0 0           0   0 1 2 3 4 5 0 0 0             1   1           2     2         3       3       4         4     5           5]
[   0 0 0         1 0   0 1 2 3 4   0 0 0         1   1   1           2     2         3       3       4         4     5          ]
[     0 0 0       2 1 0   0 1 2 3     0 0 0         1   1   1     2     2     2         3       3       4               5        ]
[       0 0 0     3 2 1 0   0 1 2       0 0 0         1   1   1     2     2     2 3       3               4               5      ]
[         0 0 0   4 3 2 1 0   0 1         0 0 0         1   1   1     2     2       3       3     4         4               5    ]
[           0 0 0 5 4 3 2 1 0   0           0 0 0         1   1         2     2       3       3     4         4   5           5  ]
[             0 0 6 5 4 3 2 1 0               0 0           1   1         2     2       3       3     4         4   5           5]
[ 1   1           0 0               0 1 2 3 4 5 6 0 0             1   1           2     2         3       3       4         4    ]
[   1   1         0 0 0           0   0 1 2 3 4 5 0 0 0             1   1           2     2         3       3       4         4  ]
[ 1   1   1         0 0 0         1 0   0 1 2 3 4   0 0 0         1   1   1           2     2         3       3       4         4]
[   1   1   1         0 0 0       2 1 0   0 1 2 3     0 0 0         1   1   1     2     2     2         3       3       4        ]
[     1   1   1         0 0 0     3 2 1 0   0 1 2       0 0 0         1   1   1     2     2     2 3       3               4      ]
[       1   1   1         0 0 0   4 3 2 1 0   0 1         0 0 0         1   1   1     2     2       3       3     4         4    ]
[         1   1             0 0 0 5 4 3 2 1 0   0           0 0 0         1   1         2     2       3       3     4         4  ]
[           1   1             0 0 6 5 4 3 2 1 0               0 0           1   1         2     2       3       3     4         4]
[ 2     2         1   1           0 0               0 1 2 3 4 5 6 0 0             1   1           2     2         3       3      ]
[   2     2         1   1         0 0 0           0   0 1 2 3 4 5 0 0 0             1   1           2     2         3       3    ]
[     2     2     1   1   1         0 0 0         1 0   0 1 2 3 4   0 0 0         1   1   1           2     2         3       3  ]
[ 2     2     2     1   1   1         0 0 0       2 1 0   0 1 2 3     0 0 0         1   1   1     2     2     2         3       3]
[   2     2     2     1   1   1         0 0 0     3 2 1 0   0 1 2       0 0 0         1   1   1     2     2     2 3       3      ]
[     2     2           1   1   1         0 0 0   4 3 2 1 0   0 1         0 0 0         1   1   1     2     2       3       3    ]
[       2     2           1   1             0 0 0 5 4 3 2 1 0   0           0 0 0         1   1         2     2       3       3  ]
[         2     2           1   1             0 0 6 5 4 3 2 1 0               0 0           1   1         2     2       3       3]
[ 3       3       2     2         1   1           0 0               0 1 2 3 4 5 6 0 0             1   1           2     2        ]
[   3       3       2     2         1   1         0 0 0           0   0 1 2 3 4 5 0 0 0             1   1           2     2      ]
[     3       3       2     2     1   1   1         0 0 0         1 0   0 1 2 3 4   0 0 0         1   1   1           2     2    ]
[       3       3 2     2     2     1   1   1         0 0 0       2 1 0   0 1 2 3     0 0 0         1   1   1     2     2     2  ]
[ 3       3         2     2     2     1   1   1         0 0 0     3 2 1 0   0 1 2       0 0 0         1   1   1     2     2     2]
[   3       3         2     2           1   1   1         0 0 0   4 3 2 1 0   0 1         0 0 0         1   1   1     2     2    ]
[     3       3         2     2           1   1             0 0 0 5 4 3 2 1 0   0           0 0 0         1   1         2     2  ]
[       3       3         2     2           1   1             0 0 6 5 4 3 2 1 0               0 0           1   1         2     2]
[ 4         4     3       3       2     2         1   1           0 0               0 1 2 3 4 5 6 0 0             1   1          ]
[   4         4     3       3       2     2         1   1         0 0 0           0   0 1 2 3 4 5 0 0 0             1   1        ]
[     4         4     3       3       2     2     1   1   1         0 0 0         1 0   0 1 2 3 4   0 0 0         1   1   1      ]
[       4               3       3 2     2     2     1   1   1         0 0 0       2 1 0   0 1 2 3     0 0 0         1   1   1    ]
[         4       3       3         2     2     2     1   1   1         0 0 0     3 2 1 0   0 1 2       0 0 0         1   1   1  ]
[ 4         4       3       3         2     2           1   1   1         0 0 0   4 3 2 1 0   0 1         0 0 0         1   1   1]
[   4         4       3       3         2     2           1   1             0 0 0 5 4 3 2 1 0   0           0 0 0         1   1  ]
[     4         4       3       3         2     2           1   1             0 0 6 5 4 3 2 1 0               0 0           1   1]
[ 5           5   4         4     3       3       2     2         1   1           0 0               0 1 2 3 4 5 6 0 0            ]
[   5           5   4         4     3       3       2     2         1   1         0 0 0           0   0 1 2 3 4 5 0 0 0          ]
[     5               4         4     3       3       2     2     1   1   1         0 0 0         1 0   0 1 2 3 4   0 0 0        ]
[       5               4               3       3 2     2     2     1   1   1         0 0 0       2 1 0   0 1 2 3     0 0 0      ]
[         5               4       3       3         2     2     2     1   1   1         0 0 0     3 2 1 0   0 1 2       0 0 0    ]
[           5     4         4       3       3         2     2           1   1   1         0 0 0   4 3 2 1 0   0 1         0 0 0  ]
[ 5           5     4         4       3       3         2     2           1   1             0 0 0 5 4 3 2 1 0   0           0 0 0]
[   5           5     4         4       3       3         2     2           1   1             0 0 6 5 4 3 2 1 0               0 0]
[ 6             6 5           5   4         4     3       3       2     2         1   1           0 0               0 1 2 3 4 5 6]
[   6               5           5   4         4     3       3       2     2         1   1         0 0 0           0   0 1 2 3 4 5]
[     6               5               4         4     3       3       2     2     1   1   1         0 0 0         1 0   0 1 2 3 4]
[       6               5               4               3       3 2     2     2     1   1   1         0 0 0       2 1 0   0 1 2 3]
[         6               5               4       3       3         2     2     2     1   1   1         0 0 0     3 2 1 0   0 1 2]
[           6               5     4         4       3       3         2     2           1   1   1         0 0 0   4 3 2 1 0   0 1]
[             6   5           5     4         4       3       3         2     2           1   1             0 0 0 5 4 3 2 1 0   0]
[ 6             6   5           5     4         4       3       3         2     2           1   1             0 0 6 5 4 3 2 1 0  ]
NIL