/*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;
}
}
}
}