项目背景:一项大学课程项目(算法2)演变为纯C编写的全屏终端RPG。没有使用Unity或Godot,仅使用标准库和大量咖啡。
可能对同样爱折磨自己的人有趣的设计决策:
- 渲染:而不是每个细胞调用printf(这会卡死终端),我一次性打印整个32KB缓冲区,合并了ANSI颜色代码,以便不重复无意义的转义序列。
- 相机/视图:固定40×20视图跟随玩家,边界压缩——老式的,类似Game Boy Zelda,除了用#代替墙壁。
- 持久化:3个二进制保存槽位,手动序列化,因为CELULA网格是指针到指针的类型,直接fwrite会得到一个“看起来很好”的提示,然后在加载时崩溃。
- 数据驱动的地图过渡:区域之间的出口(6个地图,双向连接)从地图的.txt文件中读取元数据,而不是硬编码——早上好,任何曾经debug过硬编码地图过渡的人。
主题:2026年巴西选举,因为为什么不混合政治创伤和编程创伤。
仓库:https://github.com/aKynoS2/corrida_ao_planalto
如果你对终端游戏/老式Roguelike感兴趣,请看一下并给我一些建设性反馈。
评论 (0)