📄 net_face.cpp
字号:
Diff_Ally_Status=Temp_Ally[Ally_Use];
break;
}*/
}
sscanf((char *)DP_ReadMessage ,"%d %d %s %d %d %d %d %d %d %d %d %d %d %d %s",&MessageType,&Game_Boy_Num,DP_NetPlayerInfor[j].PlayerName,
&DP_NetPlayerInfor[j].MasterNO,&DP_NetPlayerInfor[j].Ally_Infor[0],
&DP_NetPlayerInfor[j].Ally_Infor[1],&DP_NetPlayerInfor[j].Ally_Infor[2],
&DP_NetPlayerInfor[j].Ally_Infor[3],&DP_NetPlayerInfor[j].Ally_Infor[4],
&GAME_bNetPlayerOK[0],&GAME_bNetPlayerOK[1],&GAME_bNetPlayerOK[2],
&GAME_bNetPlayerOK[3],&GAME_bNetPlayerOK[4],
DP_NetPlayerInfor[j].Map_Name);
strcpy( GAME.strPathMED, "netmeds\\" ) ;
strcpy(GAME.strNameMED,DP_NetPlayerInfor[1].Map_Name);
/* if(Diff_Ally_NO!=0)
{
GAME_SetAlly(Game_Boy_Num,Diff_Ally_NO,Diff_Ally_Status);
}*/
// GAME.Players[j].nID=DP_NetPlayerInfor[j].MasterNO;
// GAME.Players[j].nAllies[0]=DP_NetPlayerInfor[j].Ally_Infor[0];
// GAME.Players[j].nAllies[1]=DP_NetPlayerInfor[j].Ally_Infor[1];
// GAME.Players[j].nAllies[2]=DP_NetPlayerInfor[j].Ally_Infor[2];
// GAME.Players[j].nAllies[3]=DP_NetPlayerInfor[j].Ally_Infor[3];
// GAME.Players[j].nAllies[4]=DP_NetPlayerInfor[j].Ally_Infor[4];
// to send a message for to update the set message of the network game
SendMessage( hwndGame, WM_COMMAND, NET_UPDATESETTING, 0 );}
break;
case DP_START_GAME:
{
memset((char *)DH_JoinPlayer,DH_NOPLAY,sizeof(DH_JoinPlayer));
for(int j=0;j<5;j++)
{
if(DP_PlayerInformation[j].DP_dcoID!=0)
{DH_JoinPlayer[j+1]=DH_PLAY;}
else{DH_JoinPlayer[j+1]=DH_NOPLAY;}
}
for(int Players=0;Players<GAME_PLAYER_MAX;Players++)
{
if(DH_JoinPlayer[Players]==DH_NOPLAY){continue;}
if(GAME_bNetPlayerOK[Players]!=TRUE)
{break;}
}
if(Players<GAME_PLAYER_MAX){break;}
GAME_bNetwork=1;
if(GAME.nMe==1){Game_Ctrl_Status=DH_CTRL;}
else{Game_Ctrl_Status=DH_NO_CTRL;}
CB_Counter=0;
PostMessage(hwndGame,WM_COMMAND,BUTTON_MENU_MAIN_NETWORK_NEWGAME_OK, 1);
}
break;
case DP_CTRL_SEND:
{
int DH_CtrlSendFrom,DH_CtrlSendTo;
DH_CtrlSendFrom=0;
DH_CtrlSendTo=0;
Game_Boy_Syn_Num=0;
sscanf((char *)DP_ReadMessage ,"%d %d %d %d",&MessageType,&DH_CtrlSendFrom,&DH_CtrlSendTo,&Game_Boy_Syn_Num);
////////////////////////////////////////////////////////
DH_CurrentCtrlPlayer=DH_CtrlSendTo;
////////////////////////////////////////////////////////
if(DH_CtrlSendTo==1)
{
if(Game_Boy_Syn_Num==CB_Counter)
{
/* memset(DP_SendMessageBuff,0,sizeof(DP_SendMessageBuff)-1);
wsprintf((char *)DP_SendMessageBuff,"%d %d %d %d",DP_CTRL_RETURN,GAME.nMe,DH_CtrlSendFrom,Game_Boy_Syn_Num);
if(DP_NetworkInterface(DP_SEND_MESSAGE,NULL)!=OK)
{
#ifdef NETWORK
MessageBox(NULL,"Send Counter message error!!!","Error",MB_OK);
#endif
}*/
// if(GAME.nMe==1)
// {Game_Ctrl_Status=DH_CTRL;}
DH_GoNextLevel=DH_ACCEPT_GO;
////////////////////////////////////
/*
WriteLogFile( "NetErr1.log", "b:" );
WriteErrorFile( "NetErr1.log", CB_Counter );
WriteErrorFile( "NetErr1.log", Game_Boy_Syn_Num );
WriteErrorFile( "NetErr1.log", DH_GoNextLevel );
*/
////////////////////////////////////
memset((void *)DP_ReadMessage,0x00,sizeof(DP_ReadMessage)-1);
return(-1);
break;
}
}
if(DH_CtrlSendTo==GAME.nMe)
{
////////////////////////////////////
/*
WriteLogFile( "NetErr1.log", "-------------------------\n" );
WriteLogFile( "NetErr1.log", "a:" );
WriteErrorFile( "NetErr1.log", CB_Counter );
WriteErrorFile( "NetErr1.log", Game_Boy_Syn_Num );
*/
////////////////////////////////////
if(Game_Boy_Syn_Num==CB_Counter)
{
/* memset(DP_SendMessageBuff,0,sizeof(DP_SendMessageBuff)-1);
wsprintf((char *)DP_SendMessageBuff,"%d %d %d %d",DP_CTRL_ANSWER,GAME.nMe,DH_CtrlSendFrom,Game_Boy_Syn_Num);
if(DP_NetworkInterface(DP_SEND_MESSAGE,NULL)!=OK)
{
#ifdef NETWORK
MessageBox(NULL,"Send Counter message error!!!","Error",MB_OK);
#endif
}*/
Game_Ctrl_Status=DH_CTRL;
break;
}
}
}
break;
case DP_CTRL_ANSWER:
{
if(Game_Ctrl_Status==DH_CTRL)
{Game_Ctrl_Status=DH_NO_CTRL;}
}
break;
case DP_CTRL_RETURN:
{
int DH_ReturnSendFrom;
DH_ReturnSendFrom=0;
sscanf((char *)DP_ReadMessage ,"%d %d ",&MessageType,&DH_ReturnSendFrom);
Game_Return_Status[DH_ReturnSendFrom]=DH_ALREADY_RETURN;
break;
}
break;
/* case DP_SYN_ANSWER:
{
sscanf((char *)DP_ReadMessage,"%d %d %d",&MessageType,&Game_Boy_Num,&Game_Boy_Syn_Num);
if(Game_Boy_Syn_Num==CB_Counter)
{
Game_Syn_Status[Game_Boy_Num]=0;
}
}
break;*/
case DP_DESTROY_PLAYER:
{
int Destroy_Num;
sscanf((char *)DP_ReadMessage,"%d %d",&MessageType,&Game_Boy_Num);
GAME_bNetPlayerOK[Game_Boy_Num]=FALSE;
if((Game_Boy_Num==GAME.nMe)||(Game_Boy_Num==1))
{
// if(FACE_GetProgramState() == PROGRAM_STATE_PLAY){DH_GoNextLevel=DH_AGAINST_GO;}
GAME_bNetPlayerOK[0]=FALSE;
GAME_bNetPlayerOK[1]=FALSE;
GAME_bNetPlayerOK[2]=FALSE;
GAME_bNetPlayerOK[3]=FALSE;
GAME_bNetPlayerOK[4]=FALSE;
if(DP_NetworkInterface(DP_DESTROY_GAME,NULL)!=OK)
{
#ifdef NETWORK
// MessageBox(NULL,"Send Counter message error!!!","Error",MB_OK);
#endif
}
if(Game_Boy_Num==1)
{
// for(Destroy_Num=0;Destroy_Num<MAX_NAME_LENGTH;Destroy_Num++)
// {
// GAME.Players[Destroy_Num].nType = PLAYER_TYPE_NONE;
// }
// GAME.nMe=0;
}
// else{GAME.Players[Game_Boy_Num].nType = PLAYER_TYPE_NONE;}
if(FACE_GetProgramState() != PROGRAM_STATE_PLAY)
{PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_IPX_SETNET_EXIT, BUTTON_MENU_MAIN_NETWORK_IPX_CREATE_EXIT1) ;}
if((FACE_GetProgramState() == PROGRAM_STATE_PLAY)&&(Game_Boy_Num==1)&&(IF_GoBackMain==NO_GO_BAK))
{PostMessage(hwndGame, WM_COMMAND, SHOW_BATTLE_RESULT, 0) ;IF_GoBackMain=ALREADY_GO_BAK;}
//send exit message
//PostMessage();
}
DH_JoinPlayer[Game_Boy_Num]=DH_NOPLAY;
if(GAME.nMe==1)
{
DH_CurrentCtrlPlayer=1;
Game_Ctrl_Status=DH_CTRL;
NW_BeginTime=timeGetTime();
}
for(Destroy_Num=0;Destroy_Num<GAME_PLAYER_MAX;Destroy_Num++)
{
GAME_SetAlly(Destroy_Num,Game_Boy_Num,DP_NO_ALLY);
}
DP_PlayerInformation[Game_Boy_Num-1].DP_dcoID=0;
for(Destroy_Num=0;Destroy_Num<MAX_NAME_LENGTH;Destroy_Num++)
{
DP_PlayerInformation[Game_Boy_Num-1].DP_NickName[Destroy_Num]='\0';
}
if((Game_Boy_Num!=GAME.nMe)&&(Game_Boy_Num!=1))
{
GAME.Players[Game_Boy_Num].nType = PLAYER_TYPE_NONE;
if(FACE_GetProgramState() != PROGRAM_STATE_PLAY)
{SendMessage( hwndGame, WM_COMMAND, NET_UPDATESETTING, 0 );}
}
// if(Game_Boy_Num==GAME.nMe){GAME.nMe=0;}
}
break;
default:
// MessageBox(NULL,"Message Type error!!!"," Error",MB_OK);
break;
}
memset((void *)DP_ReadMessage,0x00,sizeof(DP_ReadMessage)-1);
return(OK);
}
int DH_SendCounterMessage(int Counter)
{
memset(DP_SendMessageBuff,0,sizeof(DP_SendMessageBuff));
wsprintf((char *)DP_SendMessageBuff,"%d %d %d",DP_MESSAGE_SYN,GAME.nMe,Counter);
if(DP_NetworkInterface(DP_SEND_MESSAGE,NULL)!=OK)
{
#ifdef NETWORK
MessageBox(NULL,"Send Counter message error!!!","Error",MB_OK);
#endif
}
return(OK);
}
int DH_ServerInit()
{
DP_NetworkInterface(DP_INIT_NETWORK_STEP_1,hwndGame);
DP_ProviderNO=0;
DP_NetworkInterface(DP_INIT_NETWORK_STEP_2,NULL);
DP_FullName=new char[20];//创建Session部分开始
DP_NickName=new char[20];
strcpy(DP_FullName,"Session1");
strcpy(DP_NickName,"server");
DP_NetworkInterface(DP_CREATE_SESSION,NULL);//创建Session部分结束
return(OK);
}
int DH_ClientInit()
{
DP_NetworkInterface(DP_INIT_NETWORK_STEP_1,hwndGame);
DP_ProviderNO=0;
DP_NetworkInterface(DP_INIT_NETWORK_STEP_2,NULL);
DP_NetworkInterface(DP_GET_SESSION,NULL);//联接Session部分开始
DP_SessionNO=0;
DP_NickName=new char[20];
strcpy(DP_NickName,"client1");
DP_NetworkInterface(DP_CONNECT_SESSION,NULL);//联接Session部分结束
return(OK);
}
void DH_NetworkReceive()
{
int i,j;
// int t;
int Answer;
int AllAnswer=0;
int CounterStatus;
int TaskStatus;
int LastTime;
int NowTime;
int TimeOut;
int Times;
int TaskFlag;
TaskFlag=DH_NO_SEND_TASK;
TaskStatus=-1;
CounterStatus=-1;
AllAnswer=0;
DH_AnswerStatus=-1;
IF_GoBackMain=NO_GO_BAK;
memset(DH_TaskAnswer,0,sizeof(DH_TaskAnswer));
memset(Game_Return_Status,DH_ALREADY_RETURN,sizeof(Game_Return_Status));
memset((void *)Games_Status,-1,sizeof(Games_Status));
for(Answer=0;Answer<GAME_PLAYER_MAX;Answer++)
{
if(Answer==GAME.nMe){continue;}
if(DH_JoinPlayer[Answer]==DH_NOPLAY)
{
Games_Status[Answer]=0;
continue;
}
}
LastTime=0;
NowTime=0;
TimeOut=DH_NO_TIMEOUT;
DH_ReceiveAnswer=-1;
Times=0;
for(Answer=0;Answer<GAME_PLAYER_MAX;Answer++)
{
if(Answer==GAME.nMe){continue;}
if(DH_JoinPlayer[Answer]==DH_NOPLAY)
{continue;}
Game_Return_Status[Answer]=DH_NO_RETURN;
}
DH_GoNextLevel=DH_AGAINST_GO;
//////////////////////////////
DH_CurrentCtrlPlayer=1;
NW_BeginTime=timeGetTime();
//////////////////////////////
if(GAME.nMe==1){Game_Ctrl_Status=DH_CTRL;}
if(GAME.nMe!=1){Game_Ctrl_Status=DH_NO_CTRL;}
// while((Games_Status[0]!=0)||(Games_Status[1]!=0)||(Games_Status[2]!=0)||(Games_Status[3]!=0)||(Games_Status[4]!=0)||(DH_AnswerStatus!=0))
while(DH_GoNextLevel==DH_AGAINST_GO)
{
if(GAME.nMe==0){break;}
///////////////////////////////////////////////
if((timeGetTime()-NW_BeginTime)>OUTTIME)
{
/* if((Times==0)&&(CB_Counter!=0))
{
char test32[255];
wsprintf(test32,"=========%d=======\n",CB_Counter);
WriteLogFile("Test_message.log",(char *)test32);
Times=1;
if(GAME.nMe==1)
{
DH_CurrentCtrlPlayer=1;
NW_BeginTime=timeGetTime();
// DH_GoNextLevel=DH_AGAINST_GO;
Game_Ctrl_Status=DH_CTRL;
}
else{
DH_CurrentCtrlPlayer=1;
NW_BeginTime=timeGetTime();
// DH_GoNextLevel=DH_AGAINST_GO;
Game_Ctrl_Status=DH_NO_CTRL;
}
continue;
}*/
if((DH_CurrentCtrlPlayer==1)&&(CB_Counter!=0)&&(CB_Counter!=1))//{PostMessage();}//send exit message
{
//////////////////////////////////////////
GAME_bNetPlayerOK[0]=FALSE;
GAME_bNetPlayerOK[1]=FALSE;
GAME_bNetPlayerOK[2]=FALSE;
GAME_bNetPlayerOK[3]=FALSE;
GAME_bNetPlayerOK[4]=FALSE;
if(DP_NetworkInterface(DP_DESTROY_GAME,NULL)!=OK)
{
#ifdef NETWORK
// MessageBox(NULL,"Send Counter message error!!!","Error",MB_OK);
#endif
}
if(DH_CurrentCtrlPlayer==1)
{
for(int Destroy_Num=0;Destroy_Num<MAX_NAME_LENGTH;Destroy_Num++)
{
// GAME.Players[Destroy_Num].nType = PLAYER_TYPE_NONE;
}
/// GAME.nMe=0;
}
if((FACE_GetProgramState() == PROGRAM_STATE_PLAY)&&(DH_CurrentCtrlPlayer==1)&&(IF_GoBackMain==NO_GO_BAK))
{PostMessage(hwndGame, WM_COMMAND, SHOW_BATTLE_RESULT, 0) ;IF_GoBackMain=ALREADY_GO_BAK;DH_GoNextLevel=DH_ACCEPT_GO;continue;}
if(IF_GoBackMain==ALREADY_GO_BAK){DH_GoNextLevel=DH_ACCEPT_GO;continue;}
DH_JoinPlayer[0]=DH_NOPLAY;
DH_JoinPlayer[1]=DH_NOPLAY;
DH_JoinPlayer[2]=DH_NOPLAY;
DH_JoinPlayer[3]=DH_NOPLAY;
DH_JoinPlayer[4]=DH_NOPLAY;
for(int Destroy_Num=0;Destroy_Num<GAME_PLAYER_MAX;Destroy_Num++)
{
GAME_SetAlly(Destroy_Num,1,DP_NO_ALLY);
GAME_SetAlly(Destroy_Num,2,DP_NO_ALLY);
GAME_SetAlly(Destroy_Num,3,DP_NO_ALLY);
GAME_SetAlly(Destroy_Num,4,DP_NO_ALLY);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -