c++代码 飞机大战

 话不多说,直接开更:c++代码 飞机大战

#include
#include 
#include
#include
#include
 
using namespace std;
//函数外全局变量定义
int position_x1, position_y1;  //飞机位置 
int position_x2, position_y2;  //飞机位置
int position_x3, position_y3;  //飞机位置
int bullet_x, bullet_y; //子弹位置 
int high=35, width=55;     //游戏画面尺寸 
int enemy_x[40],enemy_y[40];
int enemy_x2[40],enemy_y2[40];
int enemy_xb[40],enemy_yb[40];   //敌机子弹位置 
int score=1;
int a[100][100]={0};
int number;  //敌机数量 
int ew=1;
int bw=2;  //子弹宽度 
int k=0;
int j=1;
int je=1;
void startup()   //数据初始化 
{
  position_x1 = high-3;
position_y1 = width/2;
position_x2 = high-2;
position_y2 = width/2-1;

position_x3 = high-1;
position_y3 = width/2;
 
    a[position_x1][position_y1]=1;  //1表示飞机 
bullet_x = -1;
bullet_y = position_y1;

a[position_x2][position_y2]=5;  //5表示飞机 
a[position_x3][position_y3]=6;  //6表示飞机 

number=3;   //初始飞机数量 
    for(int i=0;i>
    * *
  敌人飞机: 
   \+/ 
        |
*/
if(a[i][j]==1){ //玩家飞机第一行 
cout<<"/="<<'\\';
j+=2;
}else if(a[i][j]==5){//玩家飞机第二行 
cout<<"<<*>>";
j+=4;
}else if(a[i][j]==6){ //玩家飞机第三行 
cout<<"* *";
j+=2;
}else if(a[i][j]==4){//敌人第一行 
cout<<'\\'<<"+/";
j+=2; 
}else if(a[i][j]==3){//敌人第二行
cout<<"|";
}else if(i!=high && (j==width||j==1) ){//左右边界 
cout<<"|";          
}else if(i==high){//下边界 
cout<<"-";
}else if(a[i][j]==2){//输出子弹
cout<<"|";      
}else if(a[i][j]==7){
cout<<".";
}else if(a[i][j]==0){
cout<<" ";
}
}
cout << endl;
}
cout << "得分:" << score<<"\n";
cout<<"不要尝试使飞机飞出边界!"; 
}
void updateWithoutInput()   //与用户输入无关的更新
{
if(score<1)
{
cout<<"失败!\n"; 
for(int i=0;i<200000000;i++){;}
system("pause");
exit(0);
}      //得分<0游戏结束 
for(int i=0;i<=high;i++)
{
for(int j=0;j<=width;j++)
{   
if(a[i][j]==2){
for(int m=0;m=enemy_x[m]-1)&&(j==enemy_y[m])){
a[enemy_x[m]][enemy_y[m]]=0;
enemy_x[m]=0;
enemy_y[m]=rand()%(width/number-2)+(width/3-2)*m+3;
a[enemy_xb[m]][enemy_yb[m]]=0;
enemy_xb[m]=enemy_x[m]+1;
enemy_yb[m]=enemy_y[m];
a[enemy_x[m]][enemy_y[m]]=7;
a[enemy_x2[m]][enemy_y2[m]]=0;
enemy_x2[m]=enemy_x[m]-1;
enemy_y2[m]=enemy_y[m]-1;
a[enemy_x[m]][enemy_y[m]]=3;  //击中敌机,重新生成敌机 
a[enemy_x2[m]][enemy_y2[m]]=4;
score++;
//je=je+width/number;
}
}
a[i][j]=0;
if(i>0)
  a[i-1][j]=2;  //子弹上移 
}
}
}
for(int i=0;i=enemy_y[i]-1)&&(position_x1-1==enemy_x[i]))
{
cout<<"失败!\n";
for(int i=0;i<200000000;i++){;}
    system("pause");
    exit(0);
}
if((enemy_yb[i]<=position_y1+3)&&(enemy_yb[i]>=position_y1-2)&&(position_x1-1==enemy_xb[i]))
{
a[enemy_xb[i]][enemy_yb[i]]=0;
score-=1;
}
 
if(enemy_x[i]>high)
{
a[enemy_x[i]][enemy_y[i]]=0;
enemy_x[i]=0;
enemy_y[i]=rand()%(width/number-2)+(width/number-2)*i+3;
a[enemy_x[i]][enemy_y[i]]=3;

a[enemy_xb[i]][enemy_yb[i]]=0;
enemy_xb[i]=enemy_x[i]+1;
enemy_yb[i]=enemy_y[i];
a[enemy_xb[i]][enemy_yb[i]]=7;
a[enemy_x2[i]][enemy_y2[i]]=0;
enemy_x2[i]=enemy_x[i]-1;
enemy_y2[i]=enemy_y[i]-1;
a[enemy_x2[i]][enemy_y2[i]]=4;
//je=je+width/number;
}
static int speed=0;
static int speedb=0;
if(speed<4)
speed++;
if(speed==4){
a[enemy_x[i]][enemy_y[i]]=0;
enemy_x[i]++;
a[enemy_x[i]][enemy_y[i]]=3;
a[enemy_x2[i]][enemy_y2[i]]=0;
enemy_x2[i]++;
a[enemy_x2[i]][enemy_y2[i]]=4;
speed = 0;
}
if(speedb<2)
speedb++;
if(speedb==2){
a[enemy_xb[i]][enemy_yb[i]]=0;
enemy_xb[i]++;
a[enemy_xb[i]][enemy_yb[i]]=7;
speedb = 0;
}

}
}
void updateWithInput()     //与用户输入有关的更新 
{
char input;
 
if (_kbhit())   //当按键时被执行 
{
input = _getch();
 
if (input == 'a')//&&(position_y>2)&&(position_y<=width-1))
{
a[position_x1][position_y1]=0;
a[position_x2][position_y2]=0;
a[position_x3][position_y3]=0;
position_y1--;
position_y2--;
position_y3--;
a[position_x1][position_y1]=1;
a[position_x2][position_y2]=5;
a[position_x3][position_y3]=6;
}
else if (input == 'd')//&&(position_y>=0)&&(position_y1)&&(position_x<=high))
{
a[position_x1][position_y1]=0;
a[position_x2][position_y2]=0;
a[position_x3][position_y3]=0;
position_x1--;
position_x2--;
position_x3--;
a[position_x1][position_y1]=1;
a[position_x2][position_y2]=5;
a[position_x3][position_y3]=6;
}
else if (input == 's')//&&(position_x>=0)&&(position_x=width) right=width-1;
for(int q=left;q<=right;q++)
   a[position_x1-1][q]=2;
}
/*enemy_xb=enemy_x+2;
enemy_yb=enemy_y;*/
}
//je=je+width/number;
}
int main()
{
system("mode con cols=60 lines=40");
startup();    //数据初始化 
while (1)   //游戏循环进行 
{
show();    //显示画面 
updateWithoutInput();   //与用户输入无关的更新 
updateWithInput();     //与用户输入有关的更新 
}
return 0;
}

你可能感兴趣的:(c++,stm32,单片机)