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

📄 games.c

📁 嵌入式linux下面五子棋游戏代码
💻 C
字号:
//---------- DO NOT EDIT or MOVE THIS LINE: added by calog at Mon Aug 09 15:57:09 2004
	//added by calog
//uncoment the following line to close call log	//added by calog
//define NO_CALOG	//added by calog
#include "calog.h"	//added by calog
/*
 * Copyright (c) 2003,2004 Jing Cheng Tong Wireless Technology (ShenZhen) Ltd.
 * All rights reserved.
 * 
 * Filename: Games.c
 * Description: <FIXME>
 * 
 * Author: Liu Zhi <Zhi.LIU@JCTMobile.COM>
 * Department: R&D Center, JCTCD
 * Creation: <UNKNOWN>
 *
 * History:  2004/05/26,YZB  add copyright and file header.
 *           2004/05/26,XXX  
 */

/* $Id: Games.c,v 1.17 2004/09/10 01:10:02 wuly Exp $ */

#include <string.h>
#include "message.h"
#include "resource.h"
#include "smtPublic.h"

#define GAME_CAPTION	W3407054

///创建信息
T_GUI_MainWinCreate	GAMECreateInfo =
{
	WS_CAPTION | WS_VISIBLE,
	WS_EX_NOCLOSEBOX,
	NULL,
	0, 0,
	HWND_DESKTOP,
	NULL,
	G_APPWIN_CLIENT_COOR_X, G_APPWIN_CLIENT_COOR_Y, G_APPWIN_WIDTH, G_APPWIN_HEIGHT,
	GUI_TRANSPANT_COLOR,
	0
};

///菜单,使用常用短语的
T_GUI_HMENU			GAMEShortMenu;
///当前状态,使用短语的
T_BYTE				GAMEShortMode;

///消息处理函数
T_MODULE T_WORD GAMEProc (T_GUI_HWND hwnd, 
                T_WORD message, T_GUI_WPARAM wParam, T_GUI_LPARAM lParam)
{
	CALOG_ENT();	//added by calog

	T_MODULE T_GUI_HWND	hwndList, hwndNum, hwndEdit, hwndStatic1, hwndStatic2;
	T_SMT_SKStruct		GAMESk;
	T_WORD				id, code;
	T_WORD				i, j;
	T_BYTE				buf[50];
	T_MODULE T_UBYTE	bBox = 0;

	switch(message)
	{
	case MSG_CREATE:
		hwndList = fnGUI_CreateWindow (CTRL_LISTBOX,
			"",
			/*WS_CHILD | */WS_VISIBLE | STY_LB_USEDIGIT,
			0,
			0, 0, G_APPWIN_WIDTH, 5 * 16 + 4,
			hwnd, 0);

		i = 0;
		fnGUI_SendMessage (hwndList, MSG_LB_ADDSTRING, i++, (T_GUI_LPARAM) W1400001);	//水晶彩球
		fnGUI_SendMessage (hwndList, MSG_LB_ADDSTRING, i++, (T_GUI_LPARAM) W1400004);	//魔力单词
		fnGUI_SendMessage (hwndList, MSG_LB_ADDSTRING, i++, (T_GUI_LPARAM) W1400003);	//俄罗斯方块
		fnGUI_SendMessage (hwndList, MSG_LB_ADDSTRING, i++, (T_GUI_LPARAM) W1400002);	//五子棋
		fnGUI_SendMessage (hwndList, MSG_LB_ADDSTRING, i++, (T_GUI_LPARAM) W1401028);	//猎杀潜艇

		fnGUI_SendMessage (hwndList, MSG_LB_SETITEMHEIGHT, 0, 16);

		fnGUI_SendMessage (hwndList, MSG_LB_SETCURSEL, 0, 0);
		fnGUI_SetFocus (hwndList);
		break;

	case MSG_PAINT:
		fnMNU_ShowCurPIP(PIP_Media);
		
		if (fnGUI_GetActiveWindow() != hwnd)
			break;

		GAMESk.LSK = W0200016;	//进入
		GAMESk.MSK = NULL;
		GAMESk.RSK = W0200002;	//返回

		fnSMT_DrawSoftKey(hwnd, &GAMESk, 0);
		break;

	case MSG_KEYUP:
		switch(wParam)
		{
		case KEY_LSK:
		case KEY_Done:
			switch (fnGUI_SendMessage (hwndList, MSG_LB_GETCURSEL, 0, 0))
			{
			case 0:
				fnGAME_bejeweled();
				break;

			case 1:
				fnGAME_texttwist();
				break;

			case 2:
				fnGAME_Tetris();
				break;

			case 3:
				fnGAME_Renju();
				break;

			case 4:
				fnGAME_KillSubmarine();
				break;

			}
			break;

		case KEY_RSK:
			fnGUI_PostMessage(hwnd, MSG_CLOSE, 0, 0);
			break;

		}
		break;

	case MSG_CLOSE:
		fnIME_Disable();
		fnGUI_DestroyAllControls(hwnd);
		fnGUI_DestroyMainWindow(hwnd);
		fnGUI_PostQuitMessage(hwnd);
		break;
	}

	return fnGUI_DefaultMainWinProc (hwnd, message, wParam, lParam);
}


int fnGAME_Menu()
{
	CALOG_ENT();	//added by calog

	T_GUI_Msg Msg;
	T_GUI_HWND hwndGAME, hwnd;
	T_UBYTE opt, optEx;

	GAMECreateInfo.spCaption = GAME_CAPTION;
	GAMECreateInfo.MainWindowProc = GAMEProc;
	GAMECreateInfo.hHosting = fnGUI_GetActiveWindow();
	hwndGAME = fnGUI_CreateMainWindow(&GAMECreateInfo);

    while (fnGUI_GetMessage(&Msg, hwndGAME))
	{
        fnGUI_TranslateMessage(&Msg);
        fnGUI_DispatchMessage(&Msg);
    }
	fnGUI_MainWindowCleanup(hwndGAME);

	return;	//added by calog
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -