Графическое представление головоломки - PullRequest
1 голос
/ 05 марта 2019

Ради интереса я написал решатель для str8ts головоломок.В то время как работа с REPL представлением головоломки мне подходит, например,

STR8TS> (solve-puzzle #p"puzzles/2019-02-04-hard")
Initial puzzle:
 -----------------------------------------------------
|  -7 |  -9 |   0 |   0 |  10 |   0 |   0 |   0 |  10 |
|   3 |   0 |   6 |   0 |   0 |   0 |   0 |   0 |  10 |
|   0 |   0 |  10 |   0 |   0 |  10 |  10 |   0 |   0 |
|   0 |   1 |   0 |  10 |  10 |   0 |   0 |   5 |   0 |
|  10 |   0 |   0 |   0 |   0 |   0 |   0 |   0 |  10 |
|   0 |   0 |   0 |   0 |  -6 |  10 |   0 |   9 |   0 |
|   0 |   0 |  10 |  10 |   0 |   0 |  -2 |   0 |   0 |
|  10 |   0 |   9 |   0 |   0 |   5 |   0 |   0 |   0 |
|  -4 |   0 |   0 |   0 |  10 |   0 |   0 |  -1 |  -3 |
 -----------------------------------------------------
Final state:
 -----------------------------------------------------
|  -7 |  -9 |   5 |   6 |  10 |   2 |   3 |   4 |  10 |
|   3 |   8 |   6 |   5 |   7 |   1 |   4 |   2 |  10 |
|   1 |   2 |  10 |   7 |   8 |  10 |  10 |   6 |   5 |
|   2 |   1 |   3 |  10 |  10 |   7 |   8 |   5 |   6 |
|  10 |   6 |   4 |   3 |   5 |   8 |   9 |   7 |  10 |
|   5 |   3 |   2 |   4 |  -6 |  10 |   7 |   9 |   8 |
|   6 |   5 |  10 |  10 |   3 |   4 |  -2 |   8 |   9 |
|  10 |   4 |   9 |   8 |   2 |   5 |   6 |   3 |   7 |
|  -4 |   7 |   8 |   9 |  10 |   6 |   5 |  -1 |  -3 |
 -----------------------------------------------------
Puzzle solved in 4.168 seconds.

, мне было интересно, что может быть более элегантным способом / нарисовать / головоломку.Головоломка хранится в двумерном массиве и 10, а отрицательное число должно быть черными полями.

Существует ли библиотека, которая позволяет генерировать простой png или svg-файл сетки головоломки в b/ ш и цифры в виде текста?

1 Ответ

3 голосов
/ 05 марта 2019

Я использую Vecto для подобных вещей. Он довольно низкоуровневый (вроде написания кода на PostScript), но позволяет рисовать такие вещи, как Графики кинофильмов , так что это вопрос планирования и практики, чтобы делать то, что вам нравится.

...