#include
#include
#include
int width = 50;
int hight =20;
int position_x, position_y;
int bullet_x,bullet_y;
int enemy_x,enemy_y;
int score;
void updatestart() // 初始化数据
{
position_x = hight / 2;
position_y = width / 2; //飞机坐标
bullet_x=0; 
bullet_y=position_y; //子弹坐标
enemy_x=0;
enemy_y=position_y; //敌机坐标
score=0; //分数
}
void show() // 显示
{
int i, j; 
system("clear"); // clrscr();
for (i = 0; i < hight; i++)
{
for (j = 0; j < width; j++) 
{
if ((i == position_x)&&(j==position_y))//飞机
{
printf(" * ");
printf("A");
printf(" * ");
} 
else if ((i==enemy_x)&&(j==enemy_y))//敌人
printf("@");
else if ((i==bullet_x)&&(j==bullet_y))//子弹
printf("!");
else
printf(" ");
} 
printf("\n"); 
}
printf("\033[45;48m得分:%d\033[m",score); 
}

void update_outinput() //内部数据
{ if (bullet_x>-1)
bullet_x--;

static int speed=0;
if (speed<65)
speed++;
if (speed==65)
{enemy_x++;
speed=0;} //敌机下落速度

if ((bullet_x==enemy_x)&&(bullet_y==enemy_y))
{score+=1; //得分判断
enemy_x=-1;
enemy_y=rand()%10;
bullet_x-=2;}
if (enemy_x>hight)
{enemy_x=-1;
enemy_y=rand()%10;}
}

void update_input() // 数据输入
{
char input;
if(kbhit())
{input = getch(); //控制
switch(input)
{
case '2' : position_x--;
break;
case '8' : position_x++;
break;
case '4' : position_y--;
break;
case '6' : position_y++;
break;
case '5' : {bullet_x=position_x-1;
bullet_y=position_y+3;}
}
}
}#include
#include
#include
int width = 50;
int hight =20;
int position_x, position_y;
int bullet_x,bullet_y;
int enemy_x,enemy_y;
int score;
void updatestart() // 初始化数据
{
position_x = hight / 2;
position_y = width / 2; //飞机坐标
bullet_x=0; 
bullet_y=position_y; //子弹坐标
enemy_x=0;
enemy_y=position_y; //敌机坐标
score=0; //分数
}

int main() // 主函数
{
updatestart();
while (1) 
{
show();
update_outinput();
update_input();
}
return 0;
}

void show() // 显示
{
int i, j; 
system("clear"); // clrscr();
for (i = 0; i < hight; i++)
{
for (j = 0; j < width; j++) 
{
if ((i == position_x)&&(j==position_y))//飞机
{
printf(" * ");
printf("A");
printf(" * ");
} 
else if ((i==enemy_x)&&(j==enemy_y))//敌人
printf("@");
else if ((i==bullet_x)&&(j==bullet_y))//子弹
printf("!");
else
printf(" ");
} 
printf("\n"); 
}
printf("\033[45;48m得分:%d\033[m",score); 
}

void update_outinput() //内部数据
{ if (bullet_x>-1)
bullet_x--;

static int speed=0;
if (speed<65)
speed++;
if (speed==65)
{enemy_x++;
speed=0;} //敌机下落速度

if ((bullet_x==enemy_x)&&(bullet_y==enemy_y))
{score+=1; //得分判断
enemy_x=-1;
enemy_y=rand()%10;
bullet_x-=2;}
if (enemy_x>hight)
{enemy_x=-1;
enemy_y=rand()%10;}
}

void update_input() // 数据输入
{
char input;
if(kbhit())
{input = getch(); //控制
switch(input)
{
case '2' : position_x--;
break;
case '8' : position_x++;
break;
case '4' : position_y--;
break;
case '6' : position_y++;
break;
case '5' : {bullet_x=position_x-1;
bullet_y=position_y+3;}
}
}
}
int main() // 主函数
{
updatestart();
while (1) 
{
show();
update_outinput();
update_input();
}
return 0;
}