命令行下实现2048小游戏开发分享-鸿蒙开发者社区-51CTO.COM

命令行下实现2048小游戏开发分享

冷月星
发布于 2020-12-2 17:33
浏览
1收藏

具体效果如下:

命令行下实现2048小游戏开发分享-鸿蒙开发者社区这是个非常老的游戏了,我最早是在linux下玩到的,只有一个简单字符界面,但比较考验智力和运气,很长一段时间只能玩到256;后来掌握规则以后,就很轻松到2048了。之前曽在windows和安卓上都做过类似开发,加上漂亮的UI,这次试用AIC,想回归原始,直接用纯字符来做界面。

 

一、UI设计


说是UI设计,起始很简单,说穿了就是printf打印字符和getchar获取输入。
在实现中,发现使用system(“clear”);可通过编译,但无法实现刷新功能,运行时提示错误,解决方法是使用printf("\033[2J");替代。
getchar有个小问题,就是不能直接检测输入的字符,需增加回车,在HonestQiao的提示下,使用

命令行下实现2048小游戏开发分享-鸿蒙开发者社区

依然有些问题,后续准备进一步调试。


二、规则实现


定义数组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
回复
举报
回复
    相关推荐