您的位置:首页 > 编程语言 > C语言/C++

c写的一个简单的打飞机游戏

2016-08-27 23:18 323 查看
我没用链表  ,直接数组写了     还得学习




#include "stdafx.h"
#include  "head.h"
#include <conio.h>
#include <Windows.h>
#include <time.h>
int x=-1,y=-1;
int nx=7,ny=19;
int key=0;
void 显示();
void 产生随机战机();
void 敌方战机移动();
void 我方战机移动();
void 画战机();
void 判断是否死亡();
void 子弹移动();
int _tmain(int argc, _TCHAR* argv[])
{
srand(time(0));
while(1)
{
system("cls");
产生随机战机();
画战机();
显示();
敌方战机移动();
判断是否死亡();
我方战机移动();
子弹移动();
Sleep(250);
}
}
void 显示()
{
for(int i=0;i<20;i++)
{
for(int j=0;j<15;j++)
{
if(qipan[i][j]==0)
{
printf("  ");
}
if (qipan[i][j]==1)
{//我方战机
printf("⊥");
}
if(qipan[i][j]==2)
{//敌方战机
printf(" ");
}
if(qipan[i][j]==4)
{
printf("1 ");
}
}
printf("\n");
}
}

void 子弹移动()
{
for(int i=0;i<20;i++)
{
for(int j=0;j<15;j++)
{
if(qipan[i][j]==4)
{
qipan[i-1][j]=4;
if(qipan[i-2][j]==2)
{
子弹移动();
qipan[i-1][j]=0;
}
qipan[i][j]=0;

}
}
}
}
void 画战机()
{
for(int i=0;i<20;i++)
{
for(int j=0;j<15;j++)
{
if(qipan[i][j]==1)
{
qipan[i][j]=0;
}
}
}

qipan[ny][nx]=1;
}
void 产生随机战机()
{

do
{
x=rand()%15;
y=rand()%2;
if((rand()%6)!=0)
return;

}
while (qipan[y][x]==2);
qipan[y][x]=2;

}
void 敌方战机移动()
{
int a=0,b=0;
for(int i=0;i<20;i++)
{
for(int j=0;j<15;j++)
{
if(qipan[i][j]==2)
{
qipan[i+1][j]=3;
qipan[i][j]=0;
a++;
}
}
}
for(int i=0;i<20;i++)
{
for(int j=0;j<15;j++)
{
if(qipan[i][j]==3)
{
qipan[i][j]=2;
b++;
}
}
}
}
void 我方战机移动()
{
if(kbhit()!=0)
{
while(kbhit()!=0)
key=getch();
if(key==72)//上
ny=ny-1;
if(key==80)//下
ny=ny+1;
if(key==75)//左
nx=nx-1;
if(key==77)//右
nx=nx+1;
if(key==32)
{
qipan[ny-1][nx]=4;
}
}
}
void 判断是否死亡()
{
int a=0;
for(int i=0;i<20;i++)
{
for(int j=0;j<15;j++)
{
if(qipan[i][j]==1)
{
a++;
}
}
}
if(a!=1)
{
printf("游戏结束\n");
system("pause");
exit(0);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 游戏