「游戏」编写2048小游戏

我们可以在微信小程序搜索2048,并玩上几把,体验几盘游戏后,不难发现游戏的逻辑其实很简单。
我把想到的大致逻辑画出思维导图,然后再用编程一步一步地去实现它,当然,也参考了他人优秀的逻辑来优化自己的代码。
在这里插入图片描述 1.菜单
菜单里面信息只有三条:开始游戏、退出游戏、操作说明。在main函数里使用switch(),列出三个选项分别对应上述菜单的三个信息,供玩家输入。

void  menu()//菜单
{
	printf("************************\n");
	printf("******** 1.play ********\n");
	printf("******** 2.exit ********\n");
	printf("Control by:w/s/a/d or W/S/A/D\n");
	printf("************************\n");
}
int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));

	do
	{
		menu();
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 2:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误\n");
			break;
		}
	} while (input);
	return 0;
}

2.建立图格
游戏界面是这样的(如下图),这是一个4X4的表盘,可以想出的是我们可以建立一个四行四列的数组a[4][4]来作为其中数字的填充。
在这里插入图片描述
当然表盘的边框也是要打印出来的,为了使界面更加的美观和清爽,一共十六个小格,每个小格的空尽量留大一些。在这里插入图片描述
实现方案如上图所示,每一小方格由三根竖线组成,代码如下:

void board(void) //4x4的图格
{
	int i = 0;
	int j = 0;
	for (i = 0; i < 4; ++i)
	{          
		for (j = 0; j < 4; ++j)  
			printf("|    ");
		printf("|\n");

		for (j = 0; j < 4; ++j) 
		{ 
			if (a[i][j] == 0)
				printf("|    ");
			else
				printf("|%4d", a[i][j]);
		}
		printf("|\n");

		for (j = 0; j < 4; ++j)    
			printf("|____");
		printf("|\n");
	}
}

3.初始化数组
未完待续

猜你喜欢

转载自blog.csdn.net/NanlinW/article/details/90262729