📄 renju.h
字号:
/*
* Copyright (c) 2003,2004 Jing Cheng Tong Wireless Technology (ShenZhen) Ltd.
* All rights reserved.
*
* Filename: Renju.H
* 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: Renju.h,v 1.6.2.3 2004/12/07 01:27:48 luojc Exp $ */
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <string.h>
#include "sysGUI.h"
#include "sysROS33.h"
#define LCDWIDTH 128
#define LCDHEIGHT 160 //与这个无关
#define MAX_LEVEL 4 // 游戏最高级别 Don't modify
#define INIT_LEVEL 1 // 游戏初始级别 1
#define CHESS_LEN_X 12 // 棋盘 X 方向格子数+1. Can modify freely.
#define CHESS_LEN_Y 12 // 棋盘 Y 方向格子数+1. Can modify freely.
#define MAN 1 // 人落下的棋子或人先走
#define MACHINE 2 // 机落下的棋子或人先走
#define INIT_WIN 0 // 初始值
#define ALL_NO_WIN 3 // 和棋
#define THRESHOLD 10 // 防守门槛 Don't modify
#define DEEP 12 // 预测深度 Can modify, but must more than 5.
#define MANY 8 // 危棋限数 Can modify, but must more than 2.
// 棋盘对象
typedef struct
{
char map[CHESS_LEN_Y][CHESS_LEN_X]; // 棋盘矩阵 0 : null(无棋子), 1:MAN, 2:MACHINE
unsigned short int attack_value[CHESS_LEN_Y][CHESS_LEN_X]; // 进攻方棋子矩阵
unsigned short int defence_value[CHESS_LEN_Y][CHESS_LEN_X]; // 防守方棋子矩阵
char who_go; // 当前该谁走?MAN, MACHINE
char who_win; // 谁赢
char old_who_go; // 上次谁走?
char begin_flag; // 谁先走0 : null, MAN, MACHINE
char cmd_buttom[6]; //
char x,y; // 上步机器落子的坐标
char wx,wy; // 胜者最后落子的坐标
char dir; // 用于保存5子连成线的方向。0:横线,1:竖线,2:左对角,3:右对角
char msgflag;
char step; // 人已走步数
char mmin,sec,tm_flag; // 分、秒及时间发生改变标志
unsigned char particular;
unsigned char level; // 级别
unsigned char *imgkey;
unsigned char *msgbox;
unsigned short int put_chess_counter; // 当前机器落下棋子数,用来判和棋
short int oldsec; // 上次定时器读取的时间
}CHESS_OBJECT;
typedef struct _CHESS_POINT{
short int x; // 棋子x坐标
short int y; // 棋子y坐标
} CHESS_POINT;
#define KEY_NUMERIC_0 0
#define KEY_NUMERIC_1 12
#define KEY_NUMERIC_2 2
#define KEY_NUMERIC_3 3
#define KEY_NUMERIC_4 4
#define KEY_NUMERIC_5 5
#define KEY_NUMERIC_6 6
#define KEY_NUMERIC_7 7
#define KEY_NUMERIC_8 8
#define KEY_NUMERIC_9 9
#define KEY_UP 103
#define KEY_DOWN 108
#define KEY_LEFT 105
#define KEY_RIGHT 106
#define KEY_CANCEL 14
#define KEY_ENTER 10
#define KEY_STAR 27
#define KEY_WELL 29
short int Renju_InitChess(void);
short int Renju_CanGo(int manX, int manY);
short int Renju_ManGo( char manX, char manY);
short int Renju_JudgeWin(int currX, int currY);
void Renju_MachineGo(short int *mX, short int *mY);
T_WORD fnGAME_Renju();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -