Beating myself at chess
5 months ago
- #programming
- #chess
- #nostalgia
- 创建了一个国际象棋AI来击败作者,作者自称棋艺糟糕。
- 实验开发环境、追求简洁性和潜在的老式计算机兼容性是项目动机。
- 使用怀旧极简开发配置:上网本上的GNU Screen、Vim、entr和w3m。
- 用C语言开发零依赖、固定内存占用的国际象棋引擎,代码不足600行。
- 编译为WebAssembly后不足6KB,可在DOS或Amiga等老系统运行。
- 初期未写测试,但重构时为修复错误不得不创建测试框架。
- 通过简单文本协议与XBoard集成,借助cm-chessboard和WebAssembly兼容浏览器。
- 该AI能击败作者,但尚未测试与其他对手的对战能力。
- 推荐将此项目用于编程练习或测试新语言/范式。