📄 petfazenda.c
字号:
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 + -