千家信息网

如何用C语言写一个控制台版的2048

发表于:2024-12-01 作者:千家信息网编辑
千家信息网最后更新 2024年12月01日,如何用C语言写一个控制台版的2048,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。先说说所需要用到的头文件:#include (不必
千家信息网最后更新 2024年12月01日如何用C语言写一个控制台版的2048

如何用C语言写一个控制台版的2048,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。


先说说所需要用到的头文件:

#include (不必多说)

#include (system等)

#include (memset函数,非常有用)

#include (要使用到_getch(void);)
程序内经常用到bool,但是C语言中没有bool,因此需要定义一个类型bool:
typedef int bool;

#define true 1

#define false 0
定义图像大小:
#define ROW 5

#define COL ROW
定义各类数据:
空数:int BOX_NONE = 0;
用于判断某个位置是否有数字 : int g_iBox[ROW][COL];
保存游戏状态 :int game_state = 0;

应注意事项:

产生随机位置的数字:

*p_i[rand() % count] = (1 + rand() % 2) * 2;

//产生随机数,rand() % count指的是随机数/0数后的余数,最终范围变成【0到count-1】

//后者同理 范围为 (1+[0,1])*2 = 2或4

//p_i已经有那些0值的位置了

位置交换:

//交换两个位置的值,一般是和0进行交换

两数字做加法:

//结合两个数,res是移动的那个

显示该游戏界面:


产生随机位置的数字:


位置交换:


两数字做加法:


最重要的是移动函数,移动函数中应该要注意每个位置的数字都要被操作,有数字的位置要和最边际的为零的位置进行交换。
详见下面的整体代码:


关于如何用C语言写一个控制台版的2048问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

0