初始化内容
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
#pragma once
|
||||
|
||||
#include "head.h"
|
||||
|
||||
class GameSudo : public UI::Scene
|
||||
{
|
||||
public:
|
||||
GameSudo();
|
||||
|
||||
virtual void Update() override;
|
||||
virtual void Render() override;
|
||||
|
||||
~GameSudo()
|
||||
{
|
||||
delete _coor;
|
||||
}
|
||||
|
||||
// 生成局面
|
||||
void CreateSudo(int remove_num);
|
||||
// 检查是否可填入值
|
||||
bool CheckVaild(int x, int y, int val);
|
||||
// 刷新ui
|
||||
void RefreshUI();
|
||||
// 越界检查
|
||||
bool IsInRange(int x, int y);
|
||||
// 检查局面是否有唯一解,0表示没有,其余表示求解次数
|
||||
size_t CheckSole();
|
||||
// 屏幕坐标 -> 格子坐标
|
||||
Point Pos2Xy(const Position& pos);
|
||||
// 返回剩余未填格子数
|
||||
size_t GetRemain();
|
||||
// 推理当前格子应该填啥,无法判断返回0
|
||||
int GetMustNumber(int x, int y);
|
||||
private:
|
||||
UI::Panel* _panelMenu; // 右侧按钮
|
||||
UI::Panel* _panelNumber;// 数字按钮
|
||||
UI::Panel* _panelDiff; // 难度生成
|
||||
UI::Panel* _panelSeed; // 种子生成
|
||||
|
||||
Coor* _coor;
|
||||
UI::Text* _uiTxt; // 右侧信息
|
||||
gcText _txtMouse;
|
||||
UI::ButtonSprite* _btnBack;
|
||||
size_t _countErr;
|
||||
|
||||
struct NumberNode
|
||||
{
|
||||
int _number;
|
||||
bool _bFixed;
|
||||
gcText _txt;
|
||||
};
|
||||
|
||||
Array2<NumberNode, 9, 9> _vecNum;
|
||||
|
||||
int _diff; // 难度
|
||||
int _curNumber; // 当前选择数字
|
||||
time_t _tStart; // 开始局时
|
||||
int _gameState; // 状态 0.未开始 1.进行中 2.完成
|
||||
|
||||
void _update_time();
|
||||
};
|
||||
Reference in New Issue
Block a user