加载中
加载中
表情图片
评为精选
鼓励
加载中...
分享
加载中...
文件下载
加载中...
修改排序
加载中...
51单片机移植catacomb3d
nichengyan2025/07/03计算机电子学 IP:河南
中文摘要
C51 3D游戏
关键词
C513D

你对51游戏的印象:贪食蛇,俄罗斯方块,还是打飞机?

这次来个好玩点的,catcomb3d!

玩arduino的肯定比较熟悉,这是一个arduboy里的游戏。32u4能跑,stc8h8k64u一定就也可以。


项目不大,顶天3000行代码。但移植它最大的难题是用c++写的项目,但正常玩51都用的是c。除非你想手动翻写,我们还是清出IAR EW8051吧。


移植代码有时候真的比自己写一遍有学习价值。

class封装和::访问,严格保证了变量不泄露到不该它去的地方污染环境,让我反思了全局变量随处乱丢的坏习惯。

#define和enum class(好吧这个给我带来不少麻烦,因为iar不支持。。。)来给赋予特定标识数字意义,而不是1,2,3,4直接往里扔。

视角变换和透视除法让我重温了一下图形学的内容,位域,定点运算,三角查表,放缩查表,矢量纹理,各种优化让我眼花缭乱


原来一直在质疑oi学的算法可能除了做题没别的用处,越往后越发现我错飞了。太简单的就不说了,就这个游戏里面,搜索,优先队列,图论,空间细分等等,包括各种熟悉的思路和结构,都活生生的出现在游戏里,不断激起我沉睡的回忆


总之这个游戏确实让我想了很多,学了很多。作者中间没怎么写注释,幸亏他思路清晰外加我有Deepseek帮助,才能让我理解人家的思绪。要是我写的东西给出去,乱七八糟估计deepseek也得蒙吧


展示一下效果吧

00:00
00:00
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
mmexport1751492879047.mp4 点击下载

mmexport1751622032472.jpg

attachment iconcatacomb.zip593.74KBZIP0次下载

attachment iconcatacom3d.hex113.18KBHEX0次下载

玩这个门槛很低,你只需一片stc8h8k64u,6个按键,一块12864oled就ok了。

不想编译,没IAR?hex文件直接奉上了。


[修改于 1个月20天前 - 2025/07/04 17:51:48]

来自:计算机科学 / 计算机电子学
3
3
新版本公告
~~空空如也
nichengyan 作者
1个月18天前 IP:河南
945349

连电路也不想搭?电脑总有吧。windows版也给一下吧。用的devc++编译,显示用了个opengl。

attachment iconcatacomb3d_PC.zip240.36KBZIP0次下载


引用
评论
2
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
zjsx8192
1个月18天前 IP:广东
945363

可以玩魂斗罗之类的么


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
nichengyan作者
1个月16天前 IP:河南
945406
引用zjsx8192发表于2楼的内容
可以玩魂斗罗之类的么

我自己肯定写不出来,关键看大佬们的项目有没有方便移植的了😅😅😅


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
nichengyan
进士 机友
文章
6
回复
29
学术分
0
2023/03/18注册,1个月6天前活动

这个人很勤快,什么也没留下

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:天津
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的