#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int height,wide;
int position_x,position_y,iskill=0,isfire=0,position_oppo=5;;
void stagedata() /*设置舞台数据*/
{
height=20;
wide=30;
position_x=height/2;
position_y=wide/2;
}
void opposite() /*输出靶子*/
{
int i;
if (!iskill)
{
for (i=0;i<position_oppo;i++) printf(" ");
printf("+\n");
}
}
void fire() /*开火射击*/
{
int i,j;
if (isfire==0) for (i=0;i<position_x;i++) printf("\n");
else
{
for (i=0;i<position_x;i++)
{
for (j=0;j<position_y+2;j++) printf(" ");
printf("|\n");
}
if (position_y+2==position_oppo) iskill=1;
isfire=0;
}
}
void stage() /*创建场景*/
{
system("cls");
opposite();
fire();
}
void plane() /*输出小飞机*/
{
int i;
for (i=0;i<position_y;i++) printf(" ");
printf(" *\n");
for (i=0;i<position_y;i++) printf(" ");
printf("*****\n");
for (i=0;i<position_y;i++) printf(" ");
printf(" * *\n");
}
void move() /*飞机移动*/
{
char c;
if (kbhit())
{
c=getch();
switch (c)
{
case 'A':case 'a':position_y-=1;break;
case 'D':case 'd':position_y+=1;break;
case 'W':case 'w':position_x-=1;break;
case 'S':case 's':position_x+=1;break;
case ' ':isfire=1;break;
default:break;
}
}
}
void alarm()
{
if (position_x==height||position_x==0) printf("\a");
if (position_y==wide||position_y==0) printf("\a");
}
int main() /*主函数调用*/
{
stagedata();
while (1)
{
stage();
plane();
move();
alarm();
}
return 0;
}
C语言游戏开发之打飞机(粗糙的)
最新推荐文章于 2023-06-22 22:01:13 发布