主要观点:介绍了 PSChess 的制作及内部工作原理等相关内容。
关键信息:
- GitHub 仓库为https://github.com/nst/PSChess。
- 有关于在打印机上执行任意代码、在 PostScript 中实现象棋引擎等动机。
- 可在 GhostScript 中使用特定参数使用 PSChess,输出在控制台和 PDF 文档中。
- 项目分为五个步骤,目前前四个步骤已完成,第五步也已完成并可在打印机上运行。
- 代码结构分为三个文件及三个消费者,还有软件层图展示。
- 棋盘用 PostScript 字符串表示,通过
putinterval
指令移动棋子,游戏状态用字典保存。 - 棋子移动用偏移编码,有相应的移动过程实现捕获规则等。
- 有文档用户界面,每次移动后会显示页面,在实际打印机上黑方移动后打印页面。
- 所有棋子以向量格式在 20x20 网格中绘制。
- 实现了 Tomasz Michniewski 的简化评估函数,计算机下棋时使用 min-max 算法。
- 运行
tests_visual.ps
文件可进行视觉测试,输出所有可能移动的 PDF 文件。
重要细节: - 2023 年 3 月的概述,2024 年 11 月 7 日有 2 分钟视频,2025 年 3 月 4 日完成第五步等时间节点。
- 不同操作的具体参数和代码示例,如在 GhostView 中使用的步骤等。
- 评估函数中各棋子的内在值和位置值等具体数值。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。