移植中国象棋到展讯6530平台(2)-----h目录中相关文件的源码
2013-03-26 14:22
459 查看
//mmishopping_chess_export.h #include "mmishopping_chess_image.h" PUBLIC BOOLEAN MMISHOPPING_OpenChessWin(void);
//mmishopping_chess_id.def
WIN_ID_DEF(MMISHOPPING_CHESS_WIN_ID, "MMISHOPPING_CHESS_WIN_ID")
//mmishopping_chess_id.h /**************************************************************************** ** File Name: mmigame_square_id.h * ** Author: * ** Date: 03/29/2006 * ** Copyright: 2003 Spreadtrum, Incoporated. All Rights Reserved. * ** Description: This file is used to describe the data struct of * ** system, applicaiton, window and control * **************************************************************************** ** Important Edit History * ** ------------------------------------------------------------------------* ** DATE NAME DESCRIPTION * ** 03/2006 Annie.an Create ** ****************************************************************************/ /**--------------------------------------------------------------------------* ** Include Files * **--------------------------------------------------------------------------*/ #include "sci_types.h" #include "os_api.h" #include "mmk_type.h" #include "mmi_module.h" /**---------------------------------------------------------------------------* ** Compiler Flag * **---------------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" { #endif #define WIN_ID_DEF(win_id, win_id_name) win_id, typedef enum { SHOPPING_CHESS_ID_START = (MMI_MODULE_SHOPPING_CHESS<< 16), #include "mmishopping_chess_id.def" SHOPPING_CHESS_MAX_WIN_ID }SHOPPING_CHESS_WINDOW_ID_E; #undef WIN_ID_DEF // 命名规则: 模块名 + 窗口名 + WIN_ID , eg: CC_DIALING_WIN_ID (CC部分呼叫窗口ID) /**---------------------------------------------------------------------------* ** Compiler Flag * **---------------------------------------------------------------------------*/ #ifdef __cplusplus } #endif
//mmishopping_chess_image.h #include "sci_types.h" #include "mmi_imagefun.h" #include "mmi_module.h" #ifdef __cplusplus extern "C" { #endif #define MACRO_MDU_TYPE MACRO_MDU_IMAGE #include "macro_mdu_def.h" typedef enum SHOPPING_CHESS_MMI_IMAGE_ID_E { SHOPPING_CHESS_IMAGE_ID_START = (MMI_MODULE_SHOPPING_CHESS << 16 ) | MMI_SYS_RES_FLAG, #include "shopping_chess_mdu_def.h" SHOPPING_CHESS_IMAGE_MAX_ID } SHOPPING_CHESS_MMI_IMAGE_ID_E; #undef MACRO_MDU_TYPE #ifdef __cplusplus } #endif
//mmishopping_chess_internal.h #define SHOPPING_CHESS_MAN_MOVE_MSG (MSG_USER_START + 100) #define SHOPPING_CHESS_COM_MOVE_MSG (MSG_USER_START + 101) #define NOCHESS 0 //没有棋子 #define B_KING 1 //黑帅 #define B_CAR 2 //黑车 #define B_HORSE 3 //黑马 #define B_CANON 4 //黑炮 #define B_BISHOP 5 //黑士 #define B_ELEPHANT 6 //黑象 #define B_PAWN 7 //黑卒 #define B_BEGIN B_KING #define B_END B_PAWN #define R_KING 8 //红帅 #define R_CAR 9 //红车 #define R_HORSE 10 //红马 #define R_CANON 11 //红炮 #define R_BISHOP 12 //红士 #define R_ELEPHANT 13 //红象 #define R_PAWN 14 //红兵 #define R_BEGIN R_KING #define R_END R_PAWN #define BASEVALUE_PAWN 100 #define BASEVALUE_BISHOP 250 #define BASEVALUE_ELEPHANT 250 #define BASEVALUE_CAR 500 #define BASEVALUE_HORSE 350 #define BASEVALUE_CANON 350 #define BASEVALUE_KING 10000 #define FLEXIBILITY_PAWN 15 #define FLEXIBILITY_BISHOP 1 #define FLEXIBILITY_ELEPHANT 1 #define FLEXIBILITY_CAR 6 #define FLEXIBILITY_HORSE 12 #define FLEXIBILITY_CANON 6 #define FLEXIBILITY_KING 0 #define IsBlack(x) (x>=B_BEGIN&&x<=B_END) #define IsRed(x) (x>=R_BEGIN&&x<=R_END) #define IsSameSide(x,y) ((IsBlack(x)&&IsBlack(y))||(IsRed(x)&&IsRed(y))) #define MAN_WIN 1 #define COM_WIN 2 //const int MW=24,SW=1; //MW-棋子宽度;SW-棋子间隔的一半 //const int BWA=MW+SW*2; //BWA-棋格宽度 //const int XBW=BWA*9,YBW=BWA*10; //棋盘的长宽 const int MAN=0; //人 const int COM=1; //计算机 const int RED=0; //红方 const int BLACK=1; //黑方 uint8 *s_bg_img_buf_ptr = PNULL; LOCAL uint8 is_show_num = 0; typedef enum { LINKS_TILE_ID_0, LINKS_TILE_ID_1, LINKS_TILE_ID_2, LINKS_TILE_ID_3, LINKS_TILE_ID_4, LINKS_TILE_ID_5, LINKS_TILE_ID_6, LINKS_TILE_ID_7, LINKS_TILE_ID_8, LINKS_TILE_ID_9, LINKS_TILE_ID_10, LINKS_TILE_ID_11, LINKS_TILE_ID_12, LINKS_TILE_ID_13, LINKS_TILE_ID_14, LINKS_TILE_ID_15, LINKS_TILE_MAX_NUMBER, //子图片总数 LINKS_TILE_BLANK = 256, // #define LINKS_TILE_BLANK 256 // 无图片时的id }LINKS_TILES_ID_E; typedef enum { SHOPPING_CHESS_DIRECTION_LEFT=1, //向左 SHOPPING_CHESS_DIRECTION_RIGHT, //向右 SHOPPING_CHESS_DIRECTION_UP, //向上 SHOPPING_CHESS_DIRECTION_DOWN //向下 } SHOPPING_CHESS_DIRECTION_E; typedef enum { SHOPPING_CHESS_ID_RED_K = 0, //红帅 SHOPPING_CHESS_ID_RED_S, //仕 SHOPPING_CHESS_ID_RED_X, //相 SHOPPING_CHESS_ID_RED_M, //马 SHOPPING_CHESS_ID_RED_J, //车 SHOPPING_CHESS_ID_RED_P, //炮 SHOPPING_CHESS_ID_RED_B, //兵 SHOPPING_CHESS_ID_BLACK_K, //黑将 SHOPPING_CHESS_ID_BLACK_S, //士 SHOPPING_CHESS_ID_BLACK_X, //象 SHOPPING_CHESS_ID_BLACK_M, //马 SHOPPING_CHESS_ID_BLACK_J, //车 SHOPPING_CHESS_ID_BLACK_P, //炮 SHOPPING_CHESS_ID_BLACK_B, //卒 }SHOPPING_CHESS_ID_E; typedef struct { MMI_IMAGE_ID_T image_id; //image_id 可以与chess_id 统一起来 GUI_RECT_T original_rect; GUI_RECT_T from_rect; GUI_RECT_T to_rect; GUI_POINT_T from_point; GUI_POINT_T to_point; BOOLEAN is_select; BYTE m_ChessBoard[10][9]; BYTE m_BackupChessBoard[10][9]; }SHOPPING_CHESS_INFO_T; typedef struct { BYTE ChessID; // GUI_POINT_T From; GUI_POINT_T To; // int Score; // }SHOPPING_CHESS_MOVE; //LOCAL MMI_IMAGE_ID_T shopping_chess_bg[] = {IMAGE_SHOPPING_TESTWIN_BG}; LOCAL uint8 shopping_testwin_bg_timer_id = 0; LOCAL uint8 shopping_testwin_pop_timer_id[8] = {0}; LOCAL GUI_LCD_DEV_INFO Shopping_Chesswin_Bg_Layer = {0}; LOCAL GUI_LCD_DEV_INFO Shopping_Chesswin_Fg_Layer = {0}; LOCAL GUI_LCD_DEV_INFO Shopping_Chesswin_TpMove_Layer = {0}; LOCAL CreateShoppingChesswinLayer(GUI_LCD_DEV_INFO *layer,BOOLEAN is_static_layer,BOOLEAN is_bg_layer); LOCAL GUI_LCD_DEV_INFO CreateShoppingChesswinBgLayer(void); LOCAL GUI_LCD_DEV_INFO CreateShoppingChesswinFgLayer(void); LOCAL GUI_LCD_DEV_INFO CreateShoppingChesswinTpMoveLayer(void); LOCAL void DisplayShoppingChesswinBgLayer(void); LOCAL void RefreshShoppingChesswinFgLayer(MMI_WIN_ID_T win_id); LOCAL void ShoppingChesswinInit(MMI_WIN_ID_T win_id); LOCAL void HandleShoppingChessTpDownMSG(MMI_WIN_ID_T win_id, DPARAM param); LOCAL void HandleShoppingChessTpUpMSG(MMI_WIN_ID_T win_id,DPARAM param); LOCAL void HandleShoppingChessTpMoveMSG(MMI_WIN_ID_T win_id, DPARAM param,BOOLEAN is_first); LOCAL void ShoppingChesswinAppendLayer(GUI_LCD_DEV_INFO *layer,UILAYER_LEVEL_E layer_level); LOCAL void HandleShoppingChesswinTimerMsg(MMI_WIN_ID_T win_id,DPARAM param); LOCAL MMI_IMAGE_ID_T ShoppingChesswinGetImgId(BYTE *m_ChessBoard); LOCAL MMI_IMAGE_ID_T GetImageID(int index); LOCAL BOOLEAN ShoppingChessIsValidMove(SHOPPING_CHESS_INFO_T *chessman,int nFromX, int nFromY, int nToX, int nToY); LOCAL void ShoppingChessDisplayInfo(MMI_TEXT_ID_T text_id); LOCAL void ShoppingChessSearchAGoodMove(BYTE position[10][9]); LOCAL int ShoppingChessNegamaxEngine(int depth); LOCAL int ShoppingChessCreatePossibleMove(BYTE position[10][9], int nPly, int nSide); LOCAL int ShoppingChessAddToMoveList(int nFromX, int nFromY, int nToX, int nToY,int nPly); LOCAL void ShoppingChessGen_KingMove(BYTE position[10][9], int i, int j, int nPly); LOCAL void ShoppingChessGen_RBishopMove(BYTE position[10][9], int i, int j, int nPly); LOCAL void ShoppingChessGen_BBishopMove(BYTE position[10][9], int i, int j, int nPly); LOCAL void ShoppingChessGen_ElephantMove(BYTE position[10][9], int i, int j, int nPly); LOCAL void ShoppingChessGen_HorseMove(BYTE position[10][9], int i, int j, int nPly); LOCAL void ShoppingChessGen_RPawnMove(BYTE position[10][9], int i, int j, int nPly); LOCAL void ShoppingChessGen_BPawnMove(BYTE position[10][9], int i, int j, int nPly); LOCAL void ShoppingChessGen_CarMove(BYTE position[10][9], int i, int j, int nPly); LOCAL void ShoppingChessGen_CanonMove(BYTE position[10][9], int i, int j, int nPly); LOCAL BYTE ShoppingChessMakeMove(SHOPPING_CHESS_MOVE* move); LOCAL void ShoppingChessUnMakeMove(SHOPPING_CHESS_MOVE* move,BYTE nChessID); LOCAL int ShoppingChessIsGameOver(BYTE position[10][9], int nDepth); LOCAL void ShoppingChessEveluationInit(void); LOCAL int ShoppingChessEveluate(BYTE position[10][9], BOOL bIsRedTurn); LOCAL int ShoppingChessGetRelatePiece(BYTE position[10][9], int j, int i); LOCAL BOOLEAN ShoppingChessCanTouch(BYTE position[10][9], int nFromX, int nFromY, int nToX, int nToY); LOCAL void ShoppingChessAddPoint(int x, int y); LOCAL int ShoppingChessGetBingValue(int x, int y, BYTE CurSituation[][9]); LOCAL int ShoppingChessWhoIsWin(BYTE position[10][9]);
//mmishopping_chess_position.h #ifdef __cplusplus extern "C" { #endif #define MMI_SHOPPING_CHESS_WH 32 #define MMI_SHOPPING_CHESS_WHM 31 #define MMI_SHOPPING_CHESS_X0 15 //31 #define MMI_SHOPPING_CHESS_X1 (MMI_SHOPPING_CHESS_X0 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_X2 (MMI_SHOPPING_CHESS_X1 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_X3 (MMI_SHOPPING_CHESS_X2 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_X4 (MMI_SHOPPING_CHESS_X3 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_X5 (MMI_SHOPPING_CHESS_X4 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_X6 (MMI_SHOPPING_CHESS_X5 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_X7 (MMI_SHOPPING_CHESS_X6 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_X8 (MMI_SHOPPING_CHESS_X7 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_Y0 15 //31 #define MMI_SHOPPING_CHESS_Y1 (MMI_SHOPPING_CHESS_Y0 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_Y2 (MMI_SHOPPING_CHESS_Y1 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_Y3 (MMI_SHOPPING_CHESS_Y2 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_Y4 (MMI_SHOPPING_CHESS_Y3 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_Y5 (MMI_SHOPPING_CHESS_Y4 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_Y6 (MMI_SHOPPING_CHESS_Y5 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_Y7 (MMI_SHOPPING_CHESS_Y6 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_Y8 (MMI_SHOPPING_CHESS_Y7 + MMI_SHOPPING_CHESS_WH) #define MMI_SHOPPING_CHESS_Y9 (MMI_SHOPPING_CHESS_Y8 + MMI_SHOPPING_CHESS_WH) #ifdef __cplusplus } #endif
//mmishopping_chess_text.h #include "sci_types.h" #include "mmi_module.h" #ifdef __cplusplus extern "C" { #endif #define MACRO_MDU_TYPE MACRO_MDU_TEXT #include "macro_mdu_def.h" typedef enum SHOPPING_CHESS_MMI_TEXT_ID_E { SHOPPING_CHESS_TXT_ID_START = (MMI_MODULE_SHOPPING_CHESS << 16 ) | MMI_SYS_RES_FLAG, #include "shopping_chess_mdu_def.h" SHOPPING_CHESS_TXT_MAX_ID } SHOPPING_CHESS_MMI_TEXT_ID_E; #undef MACRO_MDU_TYPE #ifdef __cplusplus } #endif
//shopping_chess_mdu_def.h RES_ADD_STRING(TXT_MAN_GO_NOW, "It's you turn now!") RES_ADD_IMG(IMAGE_SHOPPING_CHESS_BLACK_B,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_BLACK_B.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_BLACK_J,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_BLACK_J.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_BLACK_K,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_BLACK_K.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_BLACK_M,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_BLACK_M.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_BLACK_P,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_BLACK_P.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_BLACK_S,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_BLACK_S.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_BLACK_X,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_BLACK_X.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_RED_B,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_RED_B.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_RED_J,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_RED_J.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_RED_K,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_RED_K.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_RED_M,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_RED_M.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_RED_P,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_RED_P.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_RED_S,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_RED_S.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_RED_X,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_RED_X.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_SELECT,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_SELECT.png",IMG_CMP_DEFAULT, 0) RES_ADD_IMG(IMAGE_SHOPPING_CHESS_SELECT1,"\\MMI_RES_##\\IMAG\\IMAGE_SHOPPING_CHESS_SELECT1.png",IMG_CMP_DEFAULT, 0)
相关文章推荐
- 移植中国象棋到展讯6530平台(3)-----c目录中相关文件的源码
- 移植中国象棋到展讯6530平台(1)-----总体概述
- 【Cocos2d-x 3.2源码分析】(一)类FileUtils -- 实现把资源放在Resources文件目录下达到多平台的引用
- [转载]cocos2d-x3.2源码分析(一)类FileUtils--实现把资源放在Resources文件目录下达到多平台的引用
- U-boot移植 (v2012.04.1 S3C2440平台) (一) 平台相关文件修改
- cocos2d-x3.2源码分析之 ---- 类FileUtils实现把资源放在Resources文件目录下达到多平台的引用
- cocos2d-x3.2源码分析(一)类FileUtils--实现把资源放在Resources文件目录下达到多平台的引用
- cocos2d-x3.2源码分析(一)类FileUtils--实现把资源放在Resources文件目录下达到多平台的引用
- Android7.0 USB 相关源码目录
- Qt学习之路_8(Qt中与文件目录相关操作)
- 5.Linux文件和目录相关操作
- basename()目录和文件相关操作
- Qt中与文件目录相关操作
- C#使用Xamarin开发可移植移动应用进阶篇(6.使用渲染器针对单个平台自定义控件..很很很很重要..),附源码
- Android应用程序相关的文件目录详解
- linux平台下基于C语言实现遍历文件目录
- 文件和目录的权限及相关命令
- IDEA - 如何将maven项目src下的源码目录内的xml文件编译进入classes
- wordpress源码解析-目录结构-文件调用关系(1)
- .Net/C# 封装磁盘目录文件搜索功能的工具类 (实现了与搜索相关的事件,以便插入客户处理代码)