首先,可以通过第一步的,通过空格和换行来显示出飞机。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int pox,poy;
int x=20;
int y=20;
//可以定义一个input输入框,用于控制移动方向
//加入while循环
while(1)
{
//开始描绘出飞机模型,暂时用雪花点代替。
for(pox = 0 ; pox < x; pox ++)
{
printf("\n");
}
for(poy =0 ; poy < y; poy++)
{
printf(" ");
}
printf("* \n");
// x++; //此x的功能是让雪花点向下移动。
}
system("pause");
}
第二部分:用雪花点代替飞机,并且,用wasd控制飞机的方向
#include <stdio.h>
#include <stdlib.h>
#include <conio.h> //此头文件包含:输入一个字符无需按回车键
int main()
{
int pox,poy;
int x=0;
int y=5;
//可以定义一个input输入框,用于控制移动方向
char input;
//加入while循环
while(1)
{
//清屏,重新绘雪花点的位置
system("cls");
//开始描绘出飞机模型,暂时用雪花点代替。
for(pox = 0 ; pox < x; pox ++)
printf("\n");
for(poy =0 ; poy < y; poy++)
printf(" ");
//雪花作为飞机
printf(" * \n");
for(poy =0 ; poy < y; poy++)
printf(" ");
printf(" *** \n");
for(poy =0 ; poy < y; poy++)
printf(" ");
printf(" * \n");
for(poy =0 ; poy < y; poy++)
printf(" ");
printf(" * * \n");
// x++; //此x的功能是让雪花点向下移动。
//scanf通过获取你输入的字符串进行移动雪花点。
//scanf("%c",&input); //输入字符需要按回车键才能生效、
input = getch();//不需要回车获取字符
if(input=='w')
x--;//雪花点向上移动
if(input=='s')
x++;//雪花点向下移动
if(input=='a')
y--;//向左
if(input=='d')
y++;//向右
}
system("pause");
}
第三部:让飞机模拟发射子弹,子弹用竖线代替。
#include <stdio.h>
#include <stdlib.h>
#include <conio.h> //此头文件包含:输入一个字符无需按回车键
int main()
{
int pox,poy;
int x=10;
int y=25;
//可以定义一个input输入框,用于控制移动方向
char input;
// 是否发射子弹
int isFired = 0;
//
//用加号代替靶子
int king_y = 5;//这是靶子的y坐标。靶子用“+”表示
//是否被击中
int isKilled = 0;
//加入while循环
while(1)
{
//清屏,重新绘雪花点的位置
system("cls");
//如果没有击中靶子,则+存在
if(isKilled == 0)
{
for(poy = 0; poy < king_y; poy++)
{
printf(" ");
}
printf("+\n");
}
//如果不开火,则不发射子弹
if(isFired == 0)
{
for(pox = 0 ;pox <x ; pox ++)
{
printf("\n");
}
}
else
{
for(pox = 0 ; pox < x; pox ++)
{
for(poy =0 ; poy < y; poy++)
{
printf(" ");
}
printf(" | \n");
}
if(king_y == (y+2))
{
isKilled = 1;
}
isFired = 0; //按一次空格发射一次子弹,重置为0;
}
//雪花作为飞机
for(poy =0 ; poy < y; poy++)
printf(" ");
printf(" * \n");
for(poy =0 ; poy < y; poy++)
printf(" ");
printf(" *** \n");
for(poy =0 ; poy < y; poy++)
printf(" ");
printf(" * \n");
for(poy =0 ; poy < y; poy++)
printf(" ");
printf(" * * \n");
// x++; //此x的功能是让雪花点向下移动。
//scanf通过获取你输入的字符串进行移动雪花点。
//scanf("%c",&input); //输入字符需要按回车键才能生效、
input = getch();//不需要回车获取字符
if(input=='w')
x--;//雪花点向上移动
if(input=='s')
x++;//雪花点向下移动
if(input=='a')
y--;//向左
if(input=='d')
y++;//向右
if(input==' ')//空格作为开火键
isFired = 1;
}
system("pause");
}