回复
命令行下实现2048小游戏开发分享
冷月星
发布于 2020-12-2 17:33
浏览
1收藏
具体效果如下:
这是个非常老的游戏了,我最早是在linux下玩到的,只有一个简单字符界面,但比较考验智力和运气,很长一段时间只能玩到256;后来掌握规则以后,就很轻松到2048了。之前曽在windows和安卓上都做过类似开发,加上漂亮的UI,这次试用AIC,想回归原始,直接用纯字符来做界面。
一、UI设计
说是UI设计,起始很简单,说穿了就是printf打印字符和getchar获取输入。
在实现中,发现使用system(“clear”);可通过编译,但无法实现刷新功能,运行时提示错误,解决方法是使用printf("\033[2J");替代。
getchar有个小问题,就是不能直接检测输入的字符,需增加回车,在HonestQiao的提示下,使用
依然有些问题,后续准备进一步调试。
二、规则实现
定义数组arr[16]用于记录填入的数字,先判断移动方向,使用合并函数void merge(),将需要合并的数字加起来,再通过move_go()函数移动数字。判断当填满字符后,游戏结束。
三、目前的缺陷
1、判断ctrl-z似乎有问题,退出主函数main()需要再调试。
2、因为时间函数time()调用不成功,没有给rand()做一个临时种子,所以每次rand()的结果是可推测的。
3、因为串口终端没有找到真正“清屏”的功能,只能通过滚屏来清屏,所以,会看到屏幕滚动条不断下移。
附源代码及编译结果
分类
标签
2048.rar 5.14K 60次下载
已于2020-12-2 17:41:02修改
赞
1
收藏 1
回复
相关推荐