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

📄 petfazenda.c

📁 用C语言在Brew平台下编写的一个小游戏“宠物总动员”
💻 C
📖 第 1 页 / 共 3 页
字号:
		pMe->green=255;
		pMe->red=0;	
		pMe->petmenu_1=1;

	}
	else if(pMe->pTriangle_1.x0>=45&&pMe->pTriangle_1.x0<=70&&pMe->pTriangle_1.y0>=106&&pMe->pTriangle_1.y0<=129)
	{
		pMe->petmenu_2=1;
		pMe->green=255;
		pMe->red=0;	

	}
	else if(pMe->pTriangle_1.x0>=10&&pMe->pTriangle_1.x0<=35&&pMe->pTriangle_1.y0>=135&&pMe->pTriangle_1.y0<=154)
	{
		pMe->petmenu_3=1;
		pMe->green=255;
		pMe->red=0;	

	}
	else if(pMe->pTriangle_1.x0>=45&&pMe->pTriangle_1.x0<=70&&pMe->pTriangle_1.y0>=135&&pMe->pTriangle_1.y0<=154)
	{
		pMe->petmenu_4=1;
		pMe->green=255;
		pMe->red=0;	

	}
	else if(pMe->pTriangle_1.x0>=85&&pMe->pTriangle_1.x0<=121&&pMe->pTriangle_1.y0>=138&&pMe->pTriangle_1.y0<=156)
	{
		pMe->petmenu_5=1;
		pMe->green=255;
		pMe->red=0;	

	}
	else
	{
		pMe->petmenu_1=pMe->petmenu_2=pMe->petmenu_3=pMe->petmenu_4=pMe->petmenu_5=0;
		pMe->green=0;
		pMe->red=255;
	}

}

//宠物菜单界面
void draw_petmenu(PetFazenda* pMe)
{
	IIMAGE_GetInfo(pMe->pImage_petmenu,&pMe->imageInfo);
	IIMAGE_SetParm(pMe->pImage_petmenu,IPARM_ROP,AEE_RO_TRANSPARENT,0);
	IIMAGE_Draw(pMe->pImage_petmenu,0,0);
	IDISPLAY_Update(pMe->pIDisplay);
	pMe->petmenu=1;
}

void draw_pettest(PetFazenda * pMe)
{
		
		pMe->h=(pMe->c+pMe->e)/2;
		pMe->f=(pMe->h+pMe->c)/2;
		if(pMe->e%40==0)
			pMe->h+=10;
		if(pMe->e%40==0)
			pMe->c+=10;
		if(pMe->e>100)
			pMe->flag=1;
		if(pMe->c>100)
			pMe->flag1=1;
		if(pMe->h>100)
			pMe->flag2=1;
		if(pMe->f>100)
			pMe->flag3=1;
		IIMAGE_GetInfo(pMe->pImage_petstar1,&pMe->imageInfo);
		IIMAGE_SetParm(pMe->pImage_petstar1,IPARM_ROP,AEE_RO_TRANSPARENT,0);
		if(pMe->e<=100&&pMe->e>0)
			IIMAGE_Draw(pMe->pImage_petstar1,83,21);
		if(pMe->c<=100&&pMe->c>0)
			IIMAGE_Draw(pMe->pImage_petstar1,83,57);
		if(pMe->h<=100&&pMe->h>0)
			IIMAGE_Draw(pMe->pImage_petstar1,83,91);
		if(pMe->f<=100&&pMe->f>0)
			IIMAGE_Draw(pMe->pImage_petstar1,83,126);
		if(!pMe->flag)
			IIMAGE_Draw(pMe->pImage_petstar1,83,21);
		if(!pMe->flag1)
			IIMAGE_Draw(pMe->pImage_petstar1,83,57);
		if(!pMe->flag2)
			IIMAGE_Draw(pMe->pImage_petstar1,83,91);
		if(!pMe->flag3)
			IIMAGE_Draw(pMe->pImage_petstar1,83,126);		

		if(pMe->e>100&&pMe->e<=200&&pMe->flag==1)
		{
			IIMAGE_GetInfo(pMe->pImage_petstar2,&pMe->imageInfo);
			IIMAGE_SetParm(pMe->pImage_petstar2,IPARM_ROP,AEE_RO_TRANSPARENT,0);
			IIMAGE_Draw(pMe->pImage_petstar2,83,21);
		}	
		if(pMe->e>200)
			pMe->flag=2;
		
		else if(pMe->e>200&&pMe->e<=300&&pMe->flag==2)
		{
			IIMAGE_GetInfo(pMe->pImage_petstar3,&pMe->imageInfo);
			IIMAGE_SetParm(pMe->pImage_petstar3,IPARM_ROP,AEE_RO_TRANSPARENT,0);
			IIMAGE_Draw(pMe->pImage_petstar3,83,21);
		}
		else if(pMe->e<=0||pMe->e>300)
		{
			draw_petmenu(pMe);
			draw_mouse(pMe);
			draw_bci(pMe);
			pMe->petmenu=1;
		}
		if(pMe->c>100&&pMe->c<=200&&pMe->flag1==1)
		{
			IIMAGE_GetInfo(pMe->pImage_petstar2,&pMe->imageInfo);
			IIMAGE_SetParm(pMe->pImage_petstar2,IPARM_ROP,AEE_RO_TRANSPARENT,0);
			IIMAGE_Draw(pMe->pImage_petstar2,83,57);
		}	
		if(pMe->c>200)
			pMe->flag1=2;
		
		else if(pMe->c>200&&pMe->c<=300&&pMe->flag1==2)
		{
			IIMAGE_GetInfo(pMe->pImage_petstar3,&pMe->imageInfo);
			IIMAGE_SetParm(pMe->pImage_petstar3,IPARM_ROP,AEE_RO_TRANSPARENT,0);	
			IIMAGE_Draw(pMe->pImage_petstar3,83,57);
		}
		else if(pMe->c<=0||pMe->c>300)
		{
			draw_petmenu(pMe);
			draw_mouse(pMe);
			draw_bci(pMe);
			pMe->petmenu=1;
		}
		if(pMe->h>100&&pMe->h<=200&&pMe->flag2==1)
		{
			IIMAGE_GetInfo(pMe->pImage_petstar2,&pMe->imageInfo);
			IIMAGE_SetParm(pMe->pImage_petstar2,IPARM_ROP,AEE_RO_TRANSPARENT,0);
			IIMAGE_Draw(pMe->pImage_petstar2,83,91);
		}
		if(pMe->h>200)
			pMe->flag2=2;
		
		else if(pMe->h>200&&pMe->h<=300&&pMe->flag2==2)
		{
			IIMAGE_GetInfo(pMe->pImage_petstar3,&pMe->imageInfo);
			IIMAGE_SetParm(pMe->pImage_petstar3,IPARM_ROP,AEE_RO_TRANSPARENT,0);
			IIMAGE_Draw(pMe->pImage_petstar3,83,91);
		}
		else if(pMe->h<=0||pMe->h>300)
		{
			draw_petmenu(pMe);
			draw_mouse(pMe);
			draw_bci(pMe);
			pMe->petmenu=1;
		}
		if(pMe->f>100&&pMe->f<=200&&pMe->flag3==1)
		{
			IIMAGE_GetInfo(pMe->pImage_petstar2,&pMe->imageInfo);
			IIMAGE_SetParm(pMe->pImage_petstar2,IPARM_ROP,AEE_RO_TRANSPARENT,0);
			IIMAGE_Draw(pMe->pImage_petstar2,83,126);
		}
		if(pMe->f>200)
			pMe->flag3=2;
		
		else if(pMe->f>=200&&pMe->f<=300&&pMe->flag3==2)
		{
			IIMAGE_GetInfo(pMe->pImage_petstar3,&pMe->imageInfo);
			IIMAGE_SetParm(pMe->pImage_petstar3,IPARM_ROP,AEE_RO_TRANSPARENT,0);
			IIMAGE_Draw(pMe->pImage_petstar3,83,126);
		}
		else if(pMe->f<=0||pMe->f>300)
		{
			draw_petmenu(pMe);
			draw_mouse(pMe);
			draw_bci(pMe);
			pMe->petmenu=1;
		}
		IDISPLAY_Update(pMe->pIDisplay);
}
void time_begin(PetFazenda * pMe)
{
	pMe->t++;
	ISHELL_SetTimer(pMe->pIShell,1000,time_begin,pMe);
	DBGPRINTF("%d",pMe->t);
	if(pMe->t%10==0)
	{
		pMe->e-=5;
		DBGPRINTF("%d",pMe->e);
	}
}	
void draw_bci(PetFazenda * pMe)
{
	IIMAGE_GetInfo(pMe->pImage_petbci,&pMe->imageInfo);
	IIMAGE_SetFrameSize(pMe->pImage_petbci,126);
	IIMAGE_Start(pMe->pImage_petbci,6,4);
}

void draw_smallpet(PetFazenda *pMe)
{
	DBGPRINTF("AAA");
	IIMAGE_GetInfo(pMe->pImage_smallpet,&pMe->imageInfo);
	IIMAGE_SetFrameSize(pMe->pImage_smallpet,30);
	IIMAGE_Start(pMe->pImage_smallpet,pMe->sp_x,pMe->sp_y);
	pMe->s=1;
}

/*void disappear_smallpet(PetFazenda *pMe)
{
	IIMAGE_Stop(pMe->pImage_smallpet);
//	IIMAGE_Release(pMe->pImage_smallpet);
	pMe->s=0;
	if(pMe->sp_x>=60&&pMe->sp_x<=300)
	{
	IIMAGE_GetInfo(pMe->pImage_smallpet,&pMe->imageInfo);
	IIMAGE_SetFrameSize(pMe->pImage_smallpet,30);
	IIMAGE_Start(pMe->pImage_smallpet,pMe->sp_x+=30,pMe->sp_y);
	pMe->s=1;
	}
	ISHELL_SetTimer(pMe->pIShell,2000,disappear_smallpet,pMe);
	
}*/
			 
void stop_bci(PetFazenda * pMe)
{
	IIMAGE_Stop(pMe->pImage_petbci1);
	IIMAGE_Stop(pMe->pImage_petbci2);
	IIMAGE_Stop(pMe->pImage_petbci3);
}
void draw_bci2(PetFazenda * pMe)
{
	if(pMe->petmenu_1)
	{
		IDISPLAY_ClearScreen(pMe->pIDisplay);
		IIMAGE_Stop(pMe->pImage_petbci);
		IIMAGE_GetInfo(pMe->pImage_petbci1,&pMe->imageInfo);
		IIMAGE_SetFrameSize(pMe->pImage_petbci1,126);
		IIMAGE_Start(pMe->pImage_petbci1,0,0);
		pMe->e+=30;
		pMe->petmenu_1=0;
	}
	if(pMe->petmenu_3)
	{
		IIMAGE_Stop(pMe->pImage_petbci);
		IIMAGE_GetInfo(pMe->pImage_petbci2,&pMe->imageInfo);
		IIMAGE_SetFrameSize(pMe->pImage_petbci2,126);
		IIMAGE_Start(pMe->pImage_petbci2,0,0);
		pMe->h+=30;
		pMe->petmenu_3=0;
	}
	if(pMe->petmenu_2)
	{
		IIMAGE_Stop(pMe->pImage_petbci);
		IIMAGE_GetInfo(pMe->pImage_petbci3,&pMe->imageInfo);
		IIMAGE_SetFrameSize(pMe->pImage_petbci3,126);
		IIMAGE_Start(pMe->pImage_petbci3,0,0);
		pMe->c+=30;
		pMe->petmenu_2=0;
	}
}

void draw_mouse_circle(PetFazenda* pMe)
{
	if(pMe->limit_left)
	{
		pMe->circle.cx=pMe->pTriangle_1.x0+8;
		pMe->circle.cy=pMe->pTriangle_1.y0+8;

		pMe->pLineB.sx=pMe->pTriangle_1.x0+4;
		pMe->pLineB.sy=pMe->pTriangle_1.y0+4;
		pMe->pLineB.ex=pMe->pTriangle_1.x0+12;
		pMe->pLineB.ey=pMe->pTriangle_1.y0+12;
	}
	else
	{
		pMe->circle.cx=pMe->pTriangle_1.x0;
		pMe->circle.cy=pMe->pTriangle_1.y0+8;

		pMe->pLineB.sx=pMe->pTriangle_1.x0-4;
		pMe->pLineB.sy=pMe->pTriangle_1.y0+4;
		pMe->pLineB.ex=pMe->pTriangle_1.x0+4;
		pMe->pLineB.ey=pMe->pTriangle_1.y0+12;
	}
	ISHELL_CreateInstance(pMe->pIShell,AEECLSID_GRAPHICS,(void **)&pMe->pIGra);
	IGRAPHICS_SetColor(pMe->pIGra,255,0,0,0);
	IGRAPHICS_SetFillMode(pMe->pIGra,FALSE);
	IGRAPHICS_DrawCircle(pMe->pIGra,&pMe->circle);
	IGRAPHICS_SetStrokeStyle(pMe->pIGra,STROKE_DOTTED);
	IGRAPHICS_Update(pMe->pIGra);	
	IGRAPHICS_DrawLine(pMe->pIGra,&pMe->pLineB);
	IGRAPHICS_Release(pMe->pIGra);
}

void set_mouse_point(PetFazenda* pMe,int x,int y)
{
	pMe->pTriangle_1.x1=pMe->pTriangle_1.x0;	
	pMe->pTriangle_1.y1=pMe->pTriangle_1.y0+12;	
	pMe->pTriangle_1.x2=pMe->pTriangle_1.x0+10;	
	pMe->pTriangle_1.y2=pMe->pTriangle_1.y0+6;		
	pMe->pTriangle_2.x0=pMe->pTriangle_1.x0;
	pMe->pTriangle_2.y0=pMe->pTriangle_1.y0;
	pMe->pTriangle_2.x1=pMe->pTriangle_1.x0+9;	
	pMe->pTriangle_2.y1=pMe->pTriangle_1.y0+12;	
	pMe->pTriangle_2.x2=pMe->pTriangle_1.x0+5;
	pMe->pTriangle_2.y2=pMe->pTriangle_1.y0+14;	

	if(pMe->pTriangle_1.x0-10<0&&pMe->left==1)//鼠标向左
	{
		if(pMe->back_x>20)
		{
			pMe->pTriangle_1.x1=pMe->pTriangle_1.x0+11;
			pMe->pTriangle_1.y1=pMe->pTriangle_1.y0-5;
			pMe->pTriangle_1.x2=pMe->pTriangle_1.x0+11;
			pMe->pTriangle_1.y2=pMe->pTriangle_1.y0+5;	
			pMe->pTriangle_2.x0=pMe->pTriangle_1.x0;
			pMe->pTriangle_2.y0=pMe->pTriangle_1.y0;
			pMe->pTriangle_2.x1=pMe->pTriangle_1.x0+16;
			pMe->pTriangle_2.y1=pMe->pTriangle_1.y0-2;
			pMe->pTriangle_2.x2=pMe->pTriangle_1.x0+16;
			pMe->pTriangle_2.y2=pMe->pTriangle_1.y0+2;
		}
	}
		else if(pMe->pTriangle_1.x0+20>130&&pMe->right==1)//鼠标向右
		{
			if(pMe->back_x<250)
			{
				pMe->pTriangle_1.x1=pMe->pTriangle_1.x0-11;
				pMe->pTriangle_1.y1=pMe->pTriangle_1.y0-5;
				pMe->pTriangle_1.x2=pMe->pTriangle_1.x0-11;
				pMe->pTriangle_1.y2=pMe->pTriangle_1.y0+5;	
				pMe->pTriangle_2.x0=pMe->pTriangle_1.x0;
				pMe->pTriangle_2.y0=pMe->pTriangle_1.y0;
				pMe->pTriangle_2.x1=pMe->pTriangle_1.x0-16;
				pMe->pTriangle_2.y1=pMe->pTriangle_1.y0-2;
				pMe->pTriangle_2.x2=pMe->pTriangle_1.x0-16;
				pMe->pTriangle_2.y2=pMe->pTriangle_1.y0+2;
			}
		}
		else                 //鼠标原型
		{
			pMe->pTriangle_1.x0+=x;
			pMe->pTriangle_1.y0+=y;
			pMe->pTriangle_1.x1+=x;	
			pMe->pTriangle_1.y1+=y;
			pMe->pTriangle_1.x2+=x;
			pMe->pTriangle_1.y2+=y;
			pMe->pTriangle_2.x0+=x;
			pMe->pTriangle_2.y0+=y;
			pMe->pTriangle_2.x1+=x;
			pMe->pTriangle_2.y1+=y;	
			pMe->pTriangle_2.x2+=x;
			pMe->pTriangle_2.y2+=y;
		}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -