⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gameobject.h

📁 一个类似于街机的小游戏
💻 H
📖 第 1 页 / 共 5 页
字号:
{
     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 + -