思路分析:
确定好飞机的坐标位置:建立模拟坐标轴,循环输出空格与换行移动坐标。
还得有个飞机图案,考虑用输出的 * 字符简单组装。
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++;