📄 finalcore.h
字号:
#pragma once
#include "FinalRole.h"
const unsigned long MAX_ROUND = 256; // 比赛长度限制
const unsigned long OFF_ROUND = 8; // 消隐长度
enum
{
CORE_STATE_NULL, // 还未加载子程序
CORE_STATE_READY, // 子程序加载完毕,等待 startGame
CORE_STATE_RUNNING, // 比赛中
CORE_STATE_DRAW, // 比赛完毕,平局
CORE_STATE_1_WIN, // 比赛完毕, mpRole1 胜出
CORE_STATE_2_WIN // 比赛完毕, mpRole2 胜出
//CORE_STATE_BAD // 程序错误
};
class FinalCore
{
public:
FinalCore(DEBUGFUNCTION debugFunction = NULL);
virtual ~FinalCore(void);
void setMap(unsigned char index, unsigned char blank);
void getMapInfo(bool map[8][4], unsigned char &index, unsigned char &destX, unsigned char &destY);
void getQueenInfo(bool queen[8]);
void debugOffQueen(unsigned char y);
int initRoles(wchar_t *fileName1, wchar_t *fileName2); // 第二个参数可以为 NULL ,调试用
int startGame(void);
int switchRole(void); // 把CPU资源给另一个子程序
unsigned char nextRound(unsigned long &round,
unsigned char &action1, unsigned char &x1, unsigned char &y1, unsigned char &direction1,
unsigned char &action2, unsigned char &x2, unsigned char &y2, unsigned char &direction2); // 返回值为 CORE_STATE_*
protected:
int actAction(unsigned char action, unsigned char &actionOld,
unsigned char &x, unsigned char &y, unsigned char &direction); // 返回值为负数表示 Role 出界
void release(void);
protected:
bool mMap[8][4];
unsigned char mMapIndex;
unsigned char mDestX, mDestY;
unsigned char mQueen[8];
unsigned long mRound;
unsigned char mState;
FinalRole *mpRole1, *mpRole2, *mpRoleActive;
unsigned char mAction1, mAction2;
unsigned char mX1, mY1, mX2, mY2;
unsigned char mDirection1, mDirection2;
DEBUGFUNCTION mDebugFunction;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -