C语言2048小游戏 源码

代码如下:

#include
#include
#include
#include
//#define Max 6
void meun();
int kongzhi(int *p);
void up(int *p);
void down(int *p);
void left(int *p);
void right(int *p);
void addnum(int *p,int *q,int *r);
void output(int *p);
void score(int *p,int *q);
void Init_arr(int *p);
void set(int *p,int *q);
int i;
int j;
int n;
int Max=4;
void meun()
{
	system("cls");
	printf("e、开始\nq、推出\nr、设置\n");
	printf("请选择:");
}
int kongzhi(int *p)
{
	int flag;
	char a;
	//scanf("%c",&a);
	a=getch();
	if(a=='e')
		flag=1;
	if(a=='q')
		flag=0;
	if(a=='r')
		flag=2;
	if(a=='w')
		up(p);
	if(a=='a')
		left(p);
	if(a=='s')
		down(p);
	if(a=='d')
		right(p);	
	return flag;
}
void up(int *p)
{
	//printf("shang");
	for (j=0;j0;i--)
			{
				if (p[i*Max+j]==0)
				{
					p[i*Max+j]=p[(i-1)*Max+j];
					p[(i-1)*Max+j]=0;
				}
			}
			for(i=(Max-1);i>0;i--)
				if (p[i*Max+j]==p[(i-1)*Max+j])
				{
					p[i*Max+j]=p[i*Max+j]+p[(i-1)*Max+j];
					p[(i-1)*Max+j]=0;
				}
		}
}
void left(int *p)
{
	//printf("zuo");
	for (i=0;i0;j--)
			{
				if (p[i*Max+j]==0)
				{
					p[i*Max+j]=p[i*Max+j-1];
					p[i*Max+j-1]=0;
				}
			}
			for(j=(Max-1);j>0;j--)
				if (p[i*Max+j]==p[i*Max+j-1])
				{
					p[i*Max+j]=p[i*Max+j]+p[i*Max+j-1];
					p[i*Max+j-1]=0;
				}
		}
}

void output(int *p)
{
	system("cls");
	printf("*");
	for(n=0;n

有问题可加QQ群317635311

你可能感兴趣的:(C语言)