最简单的飞机游戏

173 阅读1分钟

思路分析:

确定好飞机的坐标位置:建立模拟坐标轴,循环输出空格与换行移动坐标。

        还得有个飞机图案,考虑用输出的 * 字符简单组装。

	x = 10;
	y = 20;
	int i, j;//循环变量 
    for(i = 0;i < y;i++)
	{
		printf("\n");	
	}
	for(j = 0;j < x;j++)
	{
		printf(" ");	
	}
	printf("  *\n");
	for(j = 0;j < x;j++)
	{
		printf(" ");	
	}
	printf(" ***\n");
	for(j = 0;j < x;j++)
	{
		printf(" ");	
	}
	printf("*****\n");
	for(j = 0;j < x;j++)
	{
		printf(" ");	
	}
	printf(" * *\n");

如何让飞机动起来呢?

    给定一个while(1)无限循环,使得状态可以持续刷新。

    目前给定的X,Y是确定的值,所以飞机坐标是固定的,那要是每次循环时X和Y的值都不一样呢?

    比如第一次循环时Y的值是20,我在while循环内的末尾处加上一个Y++的话,下一次循环时Y的值就是21了,相应的,打印出来的飞机Y坐标就是21,也就是向下移动了一个单位。按这个思路,我们就有了让飞机动起来的办法。

如何让飞机听从指令指哪飞哪呢?

    小游戏一般用什么控制目标移动?对,就是WASD对应上左下右。那我们如何让电脑get到我们的指令?

    可以用键盘键入对应字符作为移动按键,使用if语句判断区别指令。

    Y++和Y--分别对应下移和上移,X++和X--分别对应右移和左移。

    这里定义一个char变量input来接收指令,再在原while循环末尾处加上这段代码:
	if(input == ‘w’)
		y--;
	if(input == ‘s’)
		y++;
	if(input == ‘a’)
		x--;
	if(input == ‘d’)
		x++;