📄 event.cpp
字号:
#include "AEEAppGen.h" // Applet interface definitions
#include "AEEShell.h" // Shell interface definitions
#include "AEEGraphics.h"
#include "aeestdlib.h"
#include "tcp.h"
#include "event.h"
#include "util.h"
int OnAppStart(APP_DATA *pdata)
{
//FIVE_DrawBoard(pdata);
//IDISPLAY_Update(pdata->a.m_pIDisplay);
FIVE_ShowStat2(pdata, "press enter to start");
return 0;
}
int OnAppStop(APP_DATA *pdata)
{
return 0;
}
int OnAppKey(APP_DATA *pdata, uint16 wParam)
{
switch(wParam)
{
case AVK_SELECT:
OnKeySelect(pdata);
break;
case AVK_CLR:
if(OnKeyClr(pdata) ==0)
return FALSE;
break;
case AVK_LEFT:
OnKeyLeft(pdata);
break;
case AVK_RIGHT:
OnKeyRight(pdata);
break;
case AVK_UP:
OnKeyUp(pdata);
break;
case AVK_DOWN:
OnKeyDown(pdata);
break;
case AVK_0:
case AVK_1:
case AVK_2:
case AVK_3:
case AVK_4:
case AVK_5:
case AVK_6:
case AVK_7:
case AVK_8:
case AVK_9:
OnKeyNumber(pdata, wParam-AVK_0);
break;
default:
return FALSE;
}
IDISPLAY_Update(pdata->a.m_pIDisplay);
return TRUE;
}
int OnKeySelect(APP_DATA *pdata)
{
switch(pdata->stat)
{
case 0:
pdata->stat =1;
pdata->cur_step =0;
int i, j;
for(i =0; i<LINE_COUNT; i++)
for(j =0; j<LINE_COUNT; j++)
pdata->man[i][j] =0;
FIVE_DrawBoard(pdata);
if(pdata->who_start ==0)
FIVE_ShowStat2(pdata, "please go..");
else
{
FIVE_MachineGo(pdata);
}
pdata->who_start =!pdata->who_start;
break;
case 1:
FIVE_HumanGo(pdata, pdata->cur_i, pdata->cur_j);
break;
case 2:
break;
}
return 0;
}
int OnKeyClr(APP_DATA *pdata)
{
switch(pdata->stat)
{
case 1:
FIVE_DrawMan(pdata, pdata->cur_i, pdata->cur_j, 5);
pdata->stat =0;
break;
default:
break;
}
return pdata->stat;
}
int OnKeyLeft(APP_DATA *pdata)
{
if(pdata->stat ==1)
FIVE_DrawMan(pdata, pdata->cur_i-1, pdata->cur_j, 4);
return 0;
}
int OnKeyRight(APP_DATA *pdata)
{
if(pdata->stat ==1)
FIVE_DrawMan(pdata, pdata->cur_i+1, pdata->cur_j, 4);
return 0;
}
int OnKeyUp(APP_DATA *pdata)
{
if(pdata->stat ==1)
FIVE_DrawMan(pdata, pdata->cur_i, pdata->cur_j-1, 4);
return 0;
}
int OnKeyDown(APP_DATA *pdata)
{
if(pdata->stat ==1)
FIVE_DrawMan(pdata, pdata->cur_i, pdata->cur_j+1, 4);
return 0;
}
int OnKeyNumber(APP_DATA *pdata, int num)
{
char temp[256];
SPRINTF(temp, "press number:%d", num);
FIVE_ShowStat(pdata, temp);
if(num ==0)
pdata->m_Socket.connect("www.programsalon.com", 21);
return 0;
}
void DoEventNetConnecting(CSocket *psocket)
{
char temp[256];
SPRINTF(temp, "connecting %s, port %d", psocket->m_hostname, psocket->m_remote_port);
FIVE_ShowStat((APP_DATA *)psocket->m_pData, temp);
}
void OnEventNetConnectSuccess(CSocket *psocket)
{
char temp[256];
SPRINTF(temp, "connected %s, port %d", psocket->m_hostname, psocket->m_remote_port);
FIVE_ShowStat((APP_DATA *)psocket->m_pData, temp);
psocket->recv(-1, -1);
}
void OnEventNetConnectFailed(CSocket *psocket)
{
char temp[256];
SPRINTF(temp, "connect %s failed, port %d", psocket->m_hostname, psocket->m_remote_port);
FIVE_ShowStat((APP_DATA *)psocket->m_pData, temp);
}
void OnEventNetRecvFailed(CSocket *psocket, int err_no)
{
char temp[256];
SPRINTF(temp, "recv failed, err_no:%d", err_no);
FIVE_ShowStat((APP_DATA *)psocket->m_pData, temp);
}
void OnEventNetRecvSuccess(CSocket *psocket)
{
char temp[MAX_PACKET_SIZE+1];
int min_len=(psocket->m_len_recved>sizeof(temp))?(sizeof(temp)-1):psocket->m_len_recved;
MEMCPY(temp, psocket->m_pRecvBuf, min_len);
temp[min_len] =0;
FIVE_ShowStat((APP_DATA *)psocket->m_pData, temp);
WriteLog((APP_DATA *)psocket->m_pData, temp);
psocket->m_len_recved =0;
}
void OnEventNetSendFailed(CSocket *psocket, int err_no)
{
}
void OnEventNetSendSuccess(CSocket *psocket)
{
}
void OnEventNetDNSQuerying(CSocket *psocket)
{
char temp[256];
SPRINTF(temp, "querying host %s", psocket->m_hostname);
FIVE_ShowStat((APP_DATA *)psocket->m_pData, temp);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -