/*C语言做激光发射器游戏,按上下左右箭头键移动
发射器,按空格键发射激光,按Esc键结束游戏*/
#include
#include
#include
void main()
{
int i,j;//定义循环变量
int x=15,y=10;//定义横坐标与纵坐标初始值
char in;
int fire=0;
int kill=0;
int nx=10;//敌机横坐标初始值
int ve=1;
int wd=80;//右边界,屏幕宽度
while(1)
{
system("cls"); //清屏函数
if(!kill)
{
nx=nx+ve;
for(i=0;i
printf(" ");
printf("@\n");
if(nx==wd)
ve=-ve;
if(nx==0)
ve=-ve;
}
if(fire==0)
{
for(j=0;j
printf("\n");
}
else
{
for(j=0;j
{
for(i=0;i
printf(" ");
printf(" |\n");
}
if(x+2==nx)
kill=1;
fire=0;
}
for(i=0;i
printf(" ");
printf(" *\n");
for(i=0;i
printf(" ");
printf("*****\n");
for(i=0;i
printf(" ");
printf(" * *\n");
/*kbhit()函数测试是否有键盘输入。
若没有输入,下面花括号里的语句不执行*/
if(kbhit())
{
in=getch();//接收键盘输入的字符,无回显
if(in==75) //左箭头键
x--;
if(in==77) //右箭头键
x++;
if(in==72) //上箭头键
y--;
if(in==80)//下箭头键
y++;
if(in==' ')//空格键
fire=1;
if(in==27) //Esc键结束
{
printf("\n\n\ngame is over! bye!\n");
break;
}
}
}
}