📄 gameobject.h
字号:
{
for(int i=0; i<MAX_NUM_YELLOW; i++)
{
if(Yellow_state[i]==DEAD)
{
Yellow_state[i]=ALIVE; //状态为活的
Yellow[i].varsI[0]=Blood_Yellow; //血满起
Yellow[i].varsI[1]=0; //爆炸持续时间
if(mode==1) Set_Pos_BOB(&Yellow[i],540,-70); //设置初始位置
else if(mode==2) Set_Pos_BOB(&Yellow[i],200,-70);
else if(mode==3) Set_Pos_BOB(&Yellow[i],640,330);
else if(mode==4) Set_Pos_BOB(&Yellow[i],100,330);
Yellow[i].varsI[3]=mode; //yellow[i].varsI[3]第3个是飞机的模式
Yellow[i].varsI[4]=0; //操作码索引
Yellow[i].varsI[5]=0; //操作数 这里是一幅位图循环时间
Yellow[i].varsI[6]=1; //控制时候发射子弹。。是开关
Show_BOB(&Yellow[i]); //设置黄色飞机可见
break;
}
}
return 1;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////
//移动黄色飞机
int Move_Yellow()
{
for(int i=0;i<MAX_NUM_YELLOW;i++)
{
if(Yellow_state[i]==ALIVE)
{
if(Yellow[i].varsI[3]==1)
{
static int opcode1,operand1;
if(--Yellow[i].varsI[5] <= 0)
{
opcode1=Right_mid_left[Yellow[i].varsI[4]++];
operand1=Right_mid_left[Yellow[i].varsI[4]++];
switch(opcode1)
{
case GO_8:
{
Set_Animation_BOB(&Yellow[i],opcode1);
Set_Vel_BOB(&Yellow[i],0,6);
Yellow[i].varsI[5]=operand1;
}
break;
case GO_9:
{
Set_Animation_BOB(&Yellow[i],opcode1);
Set_Vel_BOB(&Yellow[i],-2,3);
Yellow[i].varsI[5]=operand1;
}
break;
case GO_10:
{
Set_Animation_BOB(&Yellow[i],opcode1);
Set_Vel_BOB(&Yellow[i],-2,2);
Yellow[i].varsI[5]=operand1;
}
break;
case GO_11:
{
Set_Animation_BOB(&Yellow[i],opcode1);
Set_Vel_BOB(&Yellow[i],-2,1);
Yellow[i].varsI[5]=operand1;
if(Yellow[i].varsI[6])
{
Start_Enemyzidan_Blue_And_Yellow(Yellow[i].x+10,Yellow[i].y+50);
Yellow[i].varsI[6]=0;
}
}
break;
case GO_12:
{
Set_Animation_BOB(&Yellow[i],opcode1);
Set_Vel_BOB(&Yellow[i],-3,0);
Yellow[i].varsI[5]=operand1;
}
break;
case GO_13:
{
Set_Animation_BOB(&Yellow[i],opcode1);
Set_Vel_BOB(&Yellow[i],-2,-1);
Yellow[i].varsI[5]=operand1;
}
break;
case GO_14:
{
Set_Animation_BOB(&Yellow[i],opcode1);
Set_Vel_BOB(&Yellow[i],-2,-2);
Yellow[i].varsI[5]=operand1;
}
break;
case GO_15:
{
Set_Animation_BOB(&Yellow[i],opcode1);
Set_Vel_BOB(&Yellow[i],-2,-3);
Yellow[i].varsI[5]=operand1;
}
break;
case GO_0:
{
Set_Animation_BOB(&Yellow[i],opcode1);
Set_Vel_BOB(&Yellow[i],0,-6);
Yellow[i].varsI[5]=operand1;
}
break;
case STOP:
{
Hide_BOB(&Yellow[i]);
Yellow_state[i]=DEAD;
}
break;
}//end switch
}//切换位图
}//第一模式完
else if(Yellow[i].varsI[3]==2)
{
static int opcode2,operand2;
if(--Yellow[i].varsI[5]<=0)
{
opcode2=Left_mid_right[Yellow[i].varsI[4]++];
operand2=Left_mid_right[Yellow[i].varsI[4]++];
switch(opcode2)
{
case GO_8:
{
Set_Vel_BOB(&Yellow[i],0,6);
Set_Animation_BOB(&Yellow[i],opcode2);
Yellow[i].varsI[5]=operand2;
}
break;
case GO_7:
{
Set_Vel_BOB(&Yellow[i],2,3);
Set_Animation_BOB(&Yellow[i],opcode2);
Yellow[i].varsI[5]=operand2;
}
break;
case GO_6:
{
Set_Vel_BOB(&Yellow[i],2,2);
Set_Animation_BOB(&Yellow[i],opcode2);
Yellow[i].varsI[5]=operand2;
}
break;
case GO_5:
{
Set_Vel_BOB(&Yellow[i],2,1);
Set_Animation_BOB(&Yellow[i],opcode2);
Yellow[i].varsI[5]=operand2;
if(Yellow[i].varsI[6])
{
Start_Enemyzidan_Blue_And_Yellow(Yellow[i].x+50,Yellow[i].y+50);
Yellow[i].varsI[6]=0;
}
}
break;
case GO_4:
{
Set_Vel_BOB(&Yellow[i],3,0);
Set_Animation_BOB(&Yellow[i],opcode2);
Yellow[i].varsI[5]=operand2;
}
break;
case GO_3:
{
Set_Vel_BOB(&Yellow[i],2,-1);
Set_Animation_BOB(&Yellow[i],opcode2);
Yellow[i].varsI[5]=operand2;
}
break;
case GO_2:
{
Set_Vel_BOB(&Yellow[i],2,-2);
Set_Animation_BOB(&Yellow[i],opcode2);
Yellow[i].varsI[5]=operand2;
}
break;
case GO_1:
{
Set_Vel_BOB(&Yellow[i],2,-3);
Set_Animation_BOB(&Yellow[i],opcode2);
Yellow[i].varsI[5]=operand2;
}
break;
case GO_0:
{
Set_Vel_BOB(&Yellow[i],0,-6);
Set_Animation_BOB(&Yellow[i],opcode2);
Yellow[i].varsI[5]=operand2;
}
break;
case STOP:
{
Hide_BOB(&Yellow[i]);
Yellow_state[i]=DEAD;
}
default :
break;
}//end switch
}//end Yellow[i].varsI[5]<=0
}//end Yellow[i].varsI[3]==2
else if(Yellow[i].varsI[3]==3)
{
static int opcode3,operand3;
if(--Yellow[i].varsI[5]<=0)
{
opcode3=Right_left[Yellow[i].varsI[4]++];
operand3=Right_left[Yellow[i].varsI[4]++];
switch(opcode3)
{
case GO_12:
{
Set_Vel_BOB(&Yellow[i],-4,0);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case GO_13:
{
Set_Vel_BOB(&Yellow[i],-3,-3);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case GO_14:
{
Set_Vel_BOB(&Yellow[i],-3,-3);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case GO_15:
{
Set_Vel_BOB(&Yellow[i],-3,-3);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
if(Yellow[i].varsI[6])
{
Start_Enemyzidan_Blue_And_Yellow(Yellow[i].x+35,Yellow[i].y+10);
Yellow[i].varsI[6]=0;
}
}
break;
case GO_0:
{
Set_Vel_BOB(&Yellow[i],0,-3);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case GO_1:
{
Set_Vel_BOB(&Yellow[i],3,-3);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case GO_2:
{
Set_Vel_BOB(&Yellow[i],3,-3);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case GO_3:
{
Set_Vel_BOB(&Yellow[i],3,-3);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case GO_4:
{
Set_Vel_BOB(&Yellow[i],3,0);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case GO_5:
{
Set_Vel_BOB(&Yellow[i],3,3);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case GO_6:
{
Set_Vel_BOB(&Yellow[i],3,3);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case GO_7:
{
Set_Vel_BOB(&Yellow[i],3,3);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case GO_8:
{
Set_Vel_BOB(&Yellow[i],0,3);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case GO_9:
{
Set_Vel_BOB(&Yellow[i],-3,3);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case GO_10:
{
Set_Vel_BOB(&Yellow[i],-3,3);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case GO_11:
{
Set_Vel_BOB(&Yellow[i],-3,3);
Set_Animation_BOB(&Yellow[i],opcode3);
Yellow[i].varsI[5]=operand3;
}
break;
case Next_GO_12:
{
Set_Vel_BOB(&Yellow[i],-4,0);
Set_Animation_BOB(&Yellow[i],12);
Yellow[i].varsI[5]=operand3;
}
break;
case STOP:
{
Hide_BOB(&Yellow[i]);
Yellow_state[i]=DEAD;
}
}//end switch
}//end if(Yellow[i].varsI[5]<=0)
}//end Yellow[i].varsI[3]==3
else if(Yellow[i].varsI[3]==4)
{
static int opcode4,operand4;
if(--Yellow[i].varsI[5]<=0)
{
opcode4=Left_right[Yellow[i].varsI[4]++];
operand4=Left_right[Yellow[i].varsI[4]++];
switch(opcode4)
{
case GO_4:
{
Set_Vel_BOB(&Yellow[i],4,0);
Set_Animation_BOB(&Yellow[i],opcode4);
Yellow[i].varsI[5]=operand4;
}
break;
case GO_3:
{
Set_Vel_BOB(&Yellow[i],3,-3);
Set_Animation_BOB(&Yellow[i],opcode4);
Yellow[i].varsI[5]=operand4;
}
break;
case GO_2:
{
Set_Vel_BOB(&Yellow[i],3,-3);
Set_Animation_BOB(&Yellow[i],opcode4);
Yellow[i].varsI[5]=operand4;
}
break;
case GO_1:
{
Set_Vel_BOB(&Yellow[i],3,-3);
Set_Animation_BOB(&Yellow[i],opcode4);
Yellow[i].varsI[5]=operand4;
}
break;
case GO_0:
{
Set_Vel_BOB(&Yellow[i],0,-3);
Set_Animation_BOB(&Yellow[i],opcode4);
Yellow[i].varsI[5]=operand4;
}
break;
case GO_15:
{
Set_Vel_BOB(&Yellow[i],-3,-3);
Set_Animation_BOB(&Yellow[i],opcode4);
Yellow[i].varsI[5]=operand4;
}
break;
case GO_14:
{
Set_Vel_BOB(&Yellow[i],-3,-3);
Set_Animation_BOB(&Yellow[i],opcode4);
Yellow[i].varsI[5]=operand4;
}
break;
case GO_13:
{
Set_Vel_BOB(&Yellow[i],-3,-3);
Set_Animation_BOB(&Yellow[i],opcode4);
Yellow[i].varsI[5]=operand4;
if(Yellow[i].varsI[6])
{
Start_Enemyzidan_Blue_And_Yellow(Yellow[i].x+10,Yellow[i].y+25);
Yellow[i].varsI[6]=0;
}
}
break;
case GO_12:
{
Set_Vel_BOB(&Yellow[i],-3,0);
Set_Animation_BOB(&Yellow[i],opcode4);
Yellow[i].varsI[5]=operand4;
}
break;
case GO_11:
{
Set_Vel_BOB(&Yellow[i],-3,3);
Set_Animation_BOB(&Yellow[i],opcode4);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -