📄 game_findfault.c
字号:
ObjectPosSet(ID_Image2+7,601,340);
v_ImageRoto=v_ImageRoto+10;
if(v_ImageRoto<=359)
{
ObjectRotoSet(ID_Image1,v_ImageRoto);
for(i=0;i<8;i++)
{
ObjectRotoSet(ID_Image2+i,v_ImageRoto);
}
SetTimerOut(TimerId_RotoSet,1);
}else
{
PlayWavFileWithID(1717,false);
StopTimerOut(TimerId_RotoSet);
v_ImageRoto=0;
}
}
void F_LabOver() //一组图片结束
{
ObjectStopAni(ID_Time+1); //还原时钟
v_TimeFlag=1;
}
void F_PageNumber()//显示页号
{
int i;
for(i=0;i<4;i++)
{
ObjectShowSet(ID_PageNum+i,1);
ObjectZorderSet(ID_PageNum+i,ID_PageNum);
}
ObjectPosSet(ID_PageNum,613,580);
ObjectPosSet(ID_PageNum+1,635,580);
ObjectPosSet(ID_PageNum+2,669,580);
ObjectPosSet(ID_PageNum+3,690,580);
if(v_CurrentPage==10)
{
ObjectFrameSet(ID_PageNum,1);
ObjectFrameSet(ID_PageNum+1,0);
}else{
ObjectFrameSet(ID_PageNum,0);
ObjectFrameSet(ID_PageNum+1,v_CurrentPage);
}
ObjectFrameSet(ID_PageNum+2,1);
ObjectFrameSet(ID_PageNum+3,0);
}
void F_CheckAnswer()//抢答
{
int i; OnShakeHand(GetHandGroupID(),v_CurrentPlayer+1,2);
if(player[v_CurrentPlayer].Answer==v_ImageAnswerID)
{
PlayWavFileWithID(1716,false);
StopTimerOut(TimerId_Timedown);
player[v_CurrentPlayer].CurrentScore=200+v_TimeFrame*10+v_TimeFrame2;
player[v_CurrentPlayer].TotalScore=player[v_CurrentPlayer].TotalScore+player[v_CurrentPlayer].CurrentScore;
F_ShowRight();
}else
{ OnLightOff(v_CurrentPlayer+1);
v_WrongPlayerNum++;
for(i=0;i<4;i++)
{
if(i!=v_CurrentPlayer)
{
player[i].CurrentScore=0;
player[i].TotalScore+=100;//答错别人加100
}
}
F_ShowWrong();
PlayWavFileWithID(1707,false);
}
ObjectShowSet(ID_Angel,1);
if(player[v_CurrentPlayer].Answer==0)
{
ObjectPosSet(ID_Angel,3,103);
}
if(player[v_CurrentPlayer].Answer==1)
{
ObjectPosSet(ID_Angel,198,103);
}
if(player[v_CurrentPlayer].Answer==2)
{
ObjectPosSet(ID_Angel,3,338);
}
if(player[v_CurrentPlayer].Answer==3)
{
ObjectPosSet(ID_Angel,198,338);
}
ObjectPlayAniCount(ID_Angel,5,3);
F_ShowTotalScore(player[0],282,12) ;
F_ShowTotalScore(player[1],452,12) ;
F_ShowTotalScore(player[2],607,12) ;
F_ShowTotalScore(player[3],766,12) ;
}
void F_ShowWrong() //错
{
ObjectShowSet(ID_Cross,1);
if(player[v_CurrentPlayer].Answer==0)
{
ObjectPosSet(ID_Cross,51,186);
ObjectPlayAniCount(ID_Cross,1,1);
}
if(player[v_CurrentPlayer].Answer==1)
{
ObjectPosSet(ID_Cross,261,186);
ObjectPlayAniCount(ID_Cross,1,1);
}
if(player[v_CurrentPlayer].Answer==2)
{
ObjectPosSet(ID_Cross,51,411);
ObjectPlayAniCount(ID_Cross,1,1);
}
if(player[v_CurrentPlayer].Answer==3)
{
ObjectPosSet(ID_Cross,261,411);
ObjectPlayAniCount(ID_Cross,1,1);
}
}
void F_ShowRight() //对
{
ObjectShowSet(ID_Circle,1);
if(player[v_CurrentPlayer].Answer==0)
{
ObjectPosSet(ID_Circle,51,186);
ObjectPlayAniCount(ID_Circle,1,1);
}
if(player[v_CurrentPlayer].Answer==1)
{
ObjectPosSet(ID_Circle,261,186);
ObjectPlayAniCount(ID_Circle,1,1);
}
if(player[v_CurrentPlayer].Answer==2)
{
ObjectPosSet(ID_Circle,51,411);
ObjectPlayAniCount(ID_Circle,1,1);
}
if(player[v_CurrentPlayer].Answer==3)
{
ObjectPosSet(ID_Circle,261,411);
ObjectPlayAniCount(ID_Circle,1,1);
}
}
void F_DrawWrongScore(int score,int x,int y)//显示得分
{
ObjectShowSet(ID_WrongNum,1);//得分
int j,temp;
int i=0;
temp=score;
for(j=0;j<5;j++)
{
if(score==0){
ObjectSame(ID_WrongNum,ID_WrongNum+i);
ObjectFrameSet(ID_WrongNum+i,0);
ObjectPosSet(ID_WrongNum+i,x,y);
i++;
}
if(temp!=0)
{
ObjectSame(ID_WrongNum,ID_WrongNum+i);
ObjectFrameSet(ID_WrongNum+i,temp%10);
ObjectPosSet(ID_WrongNum+i,x-j*55,y);
temp=temp/10;
i++;
}
}
}
void F_DrawRightScore(int score,int x,int y) //显示得分
{
ObjectShowSet(ID_RightNum,1);//得分
int j,temp;
int i=0;
temp=score;
for(j=0;j<5;j++)
{
if(score==0){
ObjectSame(ID_RightNum,ID_RightNum+i);
ObjectFrameSet(ID_RightNum+i,0);
ObjectPosSet(ID_RightNum+i,x,y);
i++;
}
if(temp!=0)
{
ObjectSame(ID_RightNum,ID_RightNum+i);
ObjectFrameSet(ID_RightNum+i,temp%10);
ObjectPosSet(ID_RightNum+i,x-j*55,y);
temp=temp/10;
i++;
}
}
}
void F_ShowTotalScore(Player p,int x,int y) //显示 total得分
{
int j,temp;
int i=0;
temp=p.TotalScore;
for(j=0;j<5;j++)
{
if(p.TotalScore==0){
ObjectSame(ID_PlayerScore+p.id,ID_PlayerScore+10*(p.id+1)+i);
ObjectShowSet(ID_PlayerScore+10*(p.id+1)+i,1);//得分
ObjectZorderSet(ID_PlayerScore+10*(p.id+1)+i,ID_PlayerScore);
ObjectFrameSet(ID_PlayerScore+10*(p.id+1)+i,0);
ObjectPosSet(ID_PlayerScore+10*(p.id+1)+i,x,y);
i++;
}
if(temp!=0)
{
ObjectSame(ID_PlayerScore+p.id,ID_PlayerScore+10*(p.id+1)+i);
ObjectShowSet(ID_PlayerScore+10*(p.id+1)+i,1);//得分
ObjectZorderSet(ID_PlayerScore+10*(p.id+1)+i,ID_PlayerScore);
ObjectFrameSet(ID_PlayerScore+10*(p.id+1)+i,temp%10);
ObjectPosSet(ID_PlayerScore+10*(p.id+1)+i,x-j*26,y);
temp=temp/10;
i++;
}
}
}
void F_InitNextImage() // 初始化下一组
{
v_TimeFlag=1;
int i;
for(i=0;i<4;i++)
{
player[i].CanAnswer=1;
}
}
void F_ShowRank() // 显示排行榜
{
StopTimerOut(TimerId_Timedown);
ObjectHideAll();
PlayWavFileWithID(1715,false);
ObjectShowSet(ID_Rank,1);
ObjectShowSet(ID_RankNum,1);
ObjectShowSet(ID_RankNum+1,1);
ObjectShowSet(ID_RankNum+2,1);
ObjectShowSet(ID_RankNum+3,1);
ObjectZorderSet(ID_RankNum,ID_RankNum);
ObjectZorderSet(ID_RankNum+1,ID_RankNum);
ObjectZorderSet(ID_RankNum+2,ID_RankNum);
ObjectZorderSet(ID_RankNum+3,ID_RankNum);
int i=0;
int j=0;
Player p; for(i=1;i<5;i++)
{ OnLightOff(i); }
for(i=0;i<3;i++)
{
for(j=i+1;j<4;j++)
{
if(player[i].TotalScore<player[j].TotalScore)
{
p=player[i];
player[i]=player[j];
player[j]=p;
}
}
}
ObjectPosSet(ID_RankNum+player[0].id,280,133);
//ObjectPlayAni(ID_RankNum+player[0].id,8);
//F_DrawRankScore(player[0] ,583,148);/////////////////////////////////////////////////////////////////
F_FirstPlayerScore(585,117);
ObjectPosSet(ID_RankNum+player[1].id,280,232);
ObjectFrameSet(ID_RankNum+player[1].id,1);
F_DrawRankScore(player[1] ,583,247);
ObjectPosSet(ID_RankNum+player[2].id,280,331);
ObjectFrameSet(ID_RankNum+player[2].id,1);
F_DrawRankScore(player[2] ,583,346);
ObjectPosSet(ID_RankNum+player[3].id,280,430);
ObjectFrameSet(ID_RankNum+player[3].id,1);
F_DrawRankScore(player[3] ,583,445);
ObjectShowSet(ID_RankOK,1);
ObjectPosSet(ID_RankOK,0,544);
ObjectPlayAni(ID_RankOK,10);
v_NextGuan=1;
PlayWavFile(1750,"\\eagle\\resource\\FindFault\\sound\\voice_continue.wav",false);
}
void F_DrawRankScore(Player p,int x,int y) //画排行榜分数
{
int img_id=0;
if(p.id==0)
img_id=ID_RankScore1;
if(p.id==1)
img_id=ID_RankScore2;
if(p.id==2)
img_id=ID_RankScore3;
if(p.id==3)
img_id=ID_RankScore4;
ObjectShowSet(img_id,1);//得分
int j,temp;
int i=0;
temp=p.TotalScore;
for(j=0;j<5;j++)
{
if(p.TotalScore==0){
ObjectSame(img_id,img_id+i);
ObjectFrameSet(img_id+i,0);
ObjectPosSet(img_id+i,x,y);
i++;
}
if(temp!=0)
{
ObjectSame(img_id,img_id+i);
ObjectFrameSet(img_id,temp%10);
ObjectPosSet(img_id,x-j*50,y);
temp=temp/10;
i++;
}
}
}
void F_IninNextGuan() //初始化下一关
{
ObjectStopAni(ID_RankOK);
//ObjectStopAni(ID_RankNum+player[0].id);
v_ArrayIndex=ImagNum;
v_ImageAnswerID=-1;
v_TimeFrame=0;
v_TimeFrame2=0;
v_TimeFlag=1;
v_CurrentPage=1;
v_CurrentPlayer=0;
int i;
for(i=0;i<ImagNum;i++) //数组
{
R_Array[i]=i+1;
}
for(i=0;i<4;i++)
{
player[i].TotalScore=0;
player[i].CurrentScore=0;
player[i].id=i;
player[i].CanAnswer=1;
}
for(i=0;i<4;i++)
{
if(ObjectIsExist(ID_FS+i))
{
ObjectStopAni(ID_FS+i);
ObjectDelete(ID_FS+i);
}
}
}
int v_CurrentIndex;
void F_NextGuan() //下一关
{
int temp;
v_GuanNum++;
v_CurrentIndex=F_Random(v_GuanIndex);//当前关
v_CurrentGuan=R_Guan[v_CurrentIndex];
temp=R_Guan[v_CurrentIndex];
R_Guan[v_CurrentIndex]=R_Guan[v_GuanIndex-1];
R_Guan[v_GuanIndex-1]=temp;
v_GuanIndex--;
if(v_GuanIndex<=0)
v_GuanIndex=7;
ObjectHideAll();
ObjectShowSet(ID_Background,1);
ObjectShowSet(ID_PageNum,1);
ObjectShowSet(ID_PageNum+1,1);
ObjectShowSet(ID_PageNum+2,1);
ObjectShowSet(ID_PageNum+3,1);
ObjectPosSet(ID_PageNum,613,580);
ObjectPosSet(ID_PageNum+1,635,580);
ObjectPosSet(ID_PageNum+2,669,580);
ObjectPosSet(ID_PageNum+3,690,580);
ObjectFrameSet(ID_PageNum,0);
ObjectFrameSet(ID_PageNum+1,0);
ObjectFrameSet(ID_PageNum+2,0);
ObjectFrameSet(ID_PageNum+3,0);
F_OptionHelp();
PlayWavFileWithID(1708,false);
}
void F_OptionHelp() //帮助提示
{
if(v_OptionNum<4)
{
if(v_OptionNum>0)
ObjectShowSet(ID_Option+v_OptionNum-1,0);
ObjectShowSet(ID_Option+v_OptionNum,1);
ObjectPosSet(ID_Option+v_OptionNum,4,105);
SetTimerOut(TimerId_Option,40);
v_OptionNum++;
}else
{
ObjectShowSet(ID_Option+v_OptionNum-1,0);
v_OptionNum=0;
StopTimerOut(TimerId_Option);
ObjectShowSet(ID_Guan+v_CurrentGuan,1);
ObjectZorderSet(ID_Guan+v_CurrentGuan,ID_Guan);
ObjectPosSet(ID_Guan+v_CurrentGuan,3,105);
SetTimerOut(TimerId_GuanOver,50); //下一关的第一个图片
}
}
int v_ImageAlpha1=0;
void F_AlphaSet1(int id)//设置图片alpha
{
v_AlphaTempId=id;
v_ImageAlpha1=v_ImageAlpha1+50;
if(v_ImageAlpha1<=250)
{
ObjectAlphaSet(id,v_ImageAlpha1);
SetTimerOut(TimerId_AlphaSet2,1);
}else
{
PlayWavFileWithID(1717,false);
StopTimerOut(TimerId_AlphaSet2);
v_ImageAlpha1=0;
}
}
int v_ImageAlpha2=250;
void F_AlphaSet2(int id)//设置图片alpha
{
v_AlphaTempId=id;
v_ImageAlpha2=v_ImageAlpha2-50;
if(v_ImageAlpha2>=0)
{
ObjectAlphaSet(id,v_ImageAlpha2);
SetTimerOut(TimerId_AlphaSet3,1);
}else
{
PlayWavFileWithID(1717,false);
StopTimerOut(TimerId_AlphaSet3);
v_ImageAlpha2=250;
}
}void F_FirstPlayerScore(int x,int y)//第一名分数显示{
int j,temp;
int i=0;
int flag=0;
temp=player[0].TotalScore;
for(j=0;j<5;j++)
{
//v_FS_ImageID=ID_FS+i;
if(player[0].TotalScore==0){
ObjectLoad(ID_FS+i,F_GetFirstScore(0));
ObjectZorderSet(ID_FS+i,ID_RankScore1);
ObjectPosSet(ID_FS+i,x,y);
ObjectPlayAni(ID_FS+i,2);
i++;
}
if(temp!=0)
{
//flag=1-flag;
ObjectLoad(ID_FS+i,F_GetFirstScore(temp%10));
ObjectPosSet(ID_FS+i,x-j*50,y);
ObjectZorderSet(ID_FS+i,ID_RankScore1);
if(i==0)
{
//ObjectFrameSet(v_FS_ImageID1,0);
ObjectPlayAniCostom(v_FS_ImageID1,1,0,5,1);
//SetTimerOut(TimerId_FS1,5);
}
if(i==1)
{
//ObjectFrameSet(v_FS_ImageID2,0);
ObjectPlayAniCostom(v_FS_ImageID2,1,2,5,1);
//SetTimerOut(TimerId_FS2,5);
}
if(i==2)
{
//ObjectFrameSet(v_FS_ImageID3,0);
ObjectPlayAniCostom(v_FS_ImageID3,1,4,5,1);
//SetTimerOut(TimerId_FS3,5);
}
if(i==3)
{
//ObjectFrameSet(v_FS_ImageID4,0);
ObjectPlayAniCostom(v_FS_ImageID4,1,0,5,1);
//SetTimerOut(TimerId_FS4,5);
}
//ObjectPlayAni(ID_FS+i,2);
temp=temp/10;
i++;
//_TR("i=%d",i);
}
}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -