先说说所需要用到的头文件:
#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是移动的那个
显示该游戏界面:
产生随机位置的数字:
位置交换:
两数字做加法:
最重要的是移动函数,移动函数中应该要注意每个位置的数字都要被操作,有数字的位置要和最边际的为零的位置进行交换。详见下面的整体代码:
======================================
若需要本文章的代码,可上我的博客:
http://blog.sina.com.cn/s/blog_64559fb40102wt1n.html
或者是
http://user.qzone.qq.com/83493903/2
=======================================
欢迎大家关注我的公众号,预览更多有趣的文章: