Win32-2048游戏

这个游戏挺简单的,分享一下我的源码给各位看看吧(不好勿喷)

data.h头文件

#define T 4 
struct node
{
	int num[T][T];
	int bo[T];//标志数组
	int x,y;
	int fx[4][2];
	void mem()
	{
		memset(bo,0,sizeof(bo));
	}
	node()
	{
		fx[0][0]= 1,fx[0][1]= 0;
		fx[1][0]= 0,fx[1][1]= 1;
		fx[2][0]= -1,fx[2][1]= 0;
		fx[3][0]= 0,fx[3][1]= -1;
		memset(num,0,sizeof(num));
	}
	bool jugde()
	{
		for(int i=0;i<T;++i){
			for(int j=0;j<T;++j){
				  if(!num[i][j])return true;
			}
		}
		return false;
	}
	void left()
	{
		int u,v;
		for(int i=0;i<4;++i){
			mem();
				for(int j=1;j<4;++j)
				{
					u = i,v=j;
					while(v>0&&!num[u][v-1])
					{
						num[u][v-1]=num[u][v];
						num[u][v]=0;
						v--;
					}
						if(v>0&&!bo[v-1]&&num[u][v-1]==num[u][v]){
							num[u][v-1]+=num[u][v];
							num[u][v]=0;
							bo[v-1]=1;
						}
				}
		}
	}
	void Up()
	{
		int u,v;
		for(int i=0;i<4;++i){
			mem();
				for(int j=1;j<4;++j)
				{
					u = i,v=j;
					while(v>0&&!num[v-1][u])
					{
						num[v-1][u]=num[v][u];
						num[v][u]=0;
						v--;
					}
						if(v>0&&!bo[v-1]&&num[v-1][u]==num[v][u]){
							num[v-1][u]+=num[v][u];
							num[v][u]=0;
							bo[v-1]=1;
						}
			
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值