最后一步,为飞机增添一个靶子;即在屏幕上打印出来一个+之类的。这个非常简单;不在赘述。接下来就是判断飞机的激光是否打到了靶子,来判断靶子是否存在。用ny变量来储存靶子的位置。iskilled来储存靶子的存在状态。如果被打到了,iskilled=0,反之则为1。
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
int main()
{
int i,j;
int x=5;
int y=10;
char input;
int isfire=0;
int ny=5;
int iskilled=0;
while (1)
{
system("cls");
if(!iskilled)
{
for(j=0;j<ny;j++)
printf(" ");
printf("+\n"); //打印靶子
}
if(isfire==0)
{
for(i=1;i<x;i++)
printf("\n");
}
else
{
for(i=0;i<x;i++)
{
for(j=1;j<y;j++)
printf(" ");
printf("|\n");
}
if(ny+1==y) //判断靶子的存在状态
iskilled=1;
isfire=0;
}
for(j=1;j<y;j++)
printf(" ");
printf("*\n");
for(j=1;j<y-2;j++)
printf(" ");
printf("*****");
printf("\n");
for(j=1;j<y-1;j++)
printf(" ");
printf("* *");
Sleep(50);
if(kbhit())
{
input=getch();
if(input=='a')
y--;
if(input=='d')
y++;
if(input=='s')
x++;
if(input=='w')
x--;
if(input==' ')
isfire=1;
}
}
return 0;
}
这样一个飞机小战小游戏就做好了,当然这只是一个固定的靶子。以后可以增加更多内容。