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

📄 event.cpp

📁 站长以前用Brew写的五子棋程序
💻 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 + -