📄 box1.cpp
字号:
/***********************************************************
box1.cpp
***********************************************************/
#include <windows.h>
#include <windowsx.h>
#include <Commctrl.h>
#include "box.h"
#include "resource.h"
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp);
LRESULT CALLBACK SelectRoom(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK AboutCleaner(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK HowPlay(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
BOOL InitApplication(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow);
void GraphInit(HDC hdc);
void CarrInit(HDC hdc);
void GraphUpdate(HDC hdc);
void ShowStep(HDC hdc);
extern int MoveBox(HDC hdc,int fcol,int fcow,int tcol,int tcow);
extern int MoveUndo(HDC hdc,int undo_x,int undo_y);
extern unsigned char Temp_Term[40];
extern unsigned char Temp_Term1[20];
HINSTANCE hInst=NULL;
HWND hwndMain = NULL, hwndCB = NULL;
HWND hwinStep=NULL, hwinRoom=NULL;
TCHAR szAppName[9];
TCHAR szTitle[40];
HBITMAP hStep=NULL;
HBITMAP element[13]={0};
static BOOL bGO=FALSE;
int nRoom = 1;
int nStep = 0;
unsigned char box_col,box_row;
unsigned char undo_num = 0;
unsigned char pass_flag = 0;
unsigned char init_flag = 0;
unsigned char idb_temp = 0;
unsigned char Temp_buf[10][25]={0};
/*
unsigned char Graph_buf1[10][25] = {{0},
{0,0,0,0,0,0,0,0,0,3,3,3,3},
{0,0,0,0,0,0,0,0,0,3,0,0,3,3},
{0,0,0,0,0,0,0,0,0,3,0,2,1,3},
{0,0,0,0,0,0,0,0,3,3,0,2,3,3},
{0,0,0,0,0,0,0,0,3,0,2,0,3,3},
{0,0,0,0,0,0,0,0,3,0,0,2,4,3},
{0,0,0,0,0,0,0,0,3,4,5,4,4,3},
{0,0,0,0,0,0,0,0,3,3,3,3,3,3}};
*/
unsigned char Graph_buf1[10][25] = {{0},
{0,0,0,0,3,3,3,3},
{0,0,0,0,3,0,0,3,3},
{0,0,0,0,3,0,2,1,3},
{0,0,0,3,3,0,2,3,3},
{0,0,0,3,0,2,0,3,3},
{0,0,0,3,0,0,2,4,3},
{0,0,0,3,4,5,4,4,3},
{0,0,0,3,3,3,3,3,3}};
/*
unsigned char Graph_buf2[10][25] = {{0},{0},
{0,0,0,0,0,0,0,0,3,3,3,3,3,3,3},
{0,0,0,0,0,0,3,3,3,0,0,0,0,0,3},
{0,0,0,0,0,0,3,0,0,0,3,3,3,2,3,3},
{0,0,0,0,0,0,3,0,2,0,0,2,0,1,0,3},
{0,0,0,0,0,0,3,3,0,2,0,3,4,4,0,3},
{0,0,0,0,0,0,0,3,0,0,0,3,4,4,3,3},
{0,0,0,0,0,0,0,3,3,3,3,3,3,3,3}};
*/
unsigned char Graph_buf2[10][25] = {{0},{0},
{0,0,0,3,3,3,3,3,3,3},
{0,3,3,3,0,0,0,0,0,3},
{0,3,0,0,0,3,3,3,2,3,3},
{0,3,0,2,0,0,2,0,1,0,3},
{0,3,3,0,2,0,3,4,4,0,3},
{0,0,3,0,0,0,3,4,4,3,3},
{0,0,3,3,3,3,3,3,3,3}};
/*
unsigned char Graph_buf3[10][25] = {{0},
{0,0,0,0,0,0,0,0,0,0,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,3,3,3,0,1,3},
{0,0,0,0,0,0,0,0,0,3,0,0,2,0,3},
{0,0,0,0,0,0,0,0,3,3,0,3,0,3,3,3},
{0,0,0,0,0,0,0,0,3,0,0,3,0,3,4,3},
{0,0,0,0,0,0,0,0,3,0,3,0,0,2,4,3},
{0,0,0,0,0,0,0,0,3,0,2,0,0,0,4,3},
{0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3}};
*/
unsigned char Graph_buf3[10][25] = {{0},
{0,0,0,0,3,3,3,3,3},
{0,0,0,3,3,3,0,1,3},
{0,0,0,3,0,0,2,0,3},
{0,0,3,3,0,3,0,3,3,3},
{0,0,3,0,0,3,0,3,4,3},
{0,0,3,0,3,0,0,2,4,3},
{0,0,3,0,2,0,0,0,4,3},
{0,0,3,3,3,3,3,3,3,3}};
/*
unsigned char Graph_buf4[10][25] = {{0},
{0,0,0,0,0,0,0,3,3,3,3,3,3,3},
{0,0,0,0,0,0,0,3,0,1,3,0,0,3,3},
{0,0,0,0,0,0,0,3,0,0,3,0,0,0,3},
{0,0,0,0,0,0,0,3,0,2,0,2,0,2,3},
{0,0,0,0,0,0,0,3,0,0,3,3,2,0,3},
{0,0,0,0,0,0,0,3,3,0,3,0,2,0,3,3,3},
{0,0,0,0,0,0,0,0,3,0,0,4,4,4,4,4,3},
{0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3}};
*/
unsigned char Graph_buf4[10][25] = {{0},
{0,3,3,3,3,3,3,3},
{0,3,0,1,3,0,0,3,3},
{0,3,0,0,3,0,0,0,3},
{0,3,0,2,0,2,0,2,3},
{0,3,0,0,3,3,2,0,3},
{0,3,3,0,3,0,2,0,3,3,3},
{0,0,3,0,0,4,4,4,4,4,3},
{0,0,3,3,3,3,3,3,3,3,3}};
/*
unsigned char Graph_buf5[10][25] = {{0},
{0,0,0,0,0,0,0,0,3,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,3,0,4,4,4,4,3},
{0,0,0,0,0,0,3,3,3,2,4,4,4,3,3,3},
{0,0,0,0,0,0,3,0,2,0,2,3,2,0,0,3},
{0,0,0,0,0,0,3,0,2,3,0,0,2,2,0,3},
{0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,3},
{0,0,0,0,0,0,3,3,3,0,0,1,3,3,3,3},
{0,0,0,0,0,0,0,0,3,3,3,3,3}};
*/
unsigned char Graph_buf5[10][25] = {{0},
{0,0,0,3,3,3,3,3,3,3},
{0,0,0,3,0,4,4,4,4,3},
{0,3,3,3,2,4,4,4,3,3,3},
{0,3,0,2,0,2,3,2,0,0,3},
{0,3,0,2,3,0,0,2,2,0,3},
{0,3,0,0,0,3,0,0,0,0,3},
{0,3,3,3,0,0,1,3,3,3,3},
{0,0,0,3,3,3,3,3}};
/*
unsigned char Graph_buf6[10][25] = {{0},
{0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,3,4,4,4,0,3},
{0,0,0,0,0,0,0,0,3,4,4,4,4,3,3,3,3},
{0,0,0,0,0,0,3,3,3,0,2,3,3,3,0,0,3},
{0,0,0,0,0,0,3,0,2,2,0,0,2,0,2,0,3},
{0,0,0,0,0,0,3,0,0,0,0,2,0,2,0,1,3},
{0,0,0,0,0,0,3,0,0,0,3,3,3,0,0,0,3},
{0,0,0,0,0,0,3,3,3,3,3,0,3,3,3,3,3}};
*/
unsigned char Graph_buf6[10][25] = {{0},
{0,0,0,3,3,3,3,3,3},
{0,0,0,3,4,4,4,0,3},
{0,0,0,3,4,4,4,4,3,3,3,3},
{0,3,3,3,0,2,3,3,3,0,0,3},
{0,3,0,2,2,0,0,2,0,2,0,3},
{0,3,0,0,0,0,2,0,2,0,1,3},
{0,3,0,0,0,3,3,3,0,0,0,3},
{0,3,3,3,3,3,0,3,3,3,3,3}};
/*
unsigned char Graph_buf7[10][25] = {{0},{0},
{0,0,0,0,0,3,3,3,3,3,0,0,3,3,3,3},
{0,0,0,0,0,3,0,0,0,3,0,0,3,0,0,3,3},
{0,0,0,0,0,3,0,0,2,3,3,3,3,0,2,0,3},
{0,0,0,0,0,3,0,2,0,4,4,4,4,2,0,0,3},
{0,0,0,0,0,3,3,0,1,0,3,0,0,0,0,3,3},
{0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3}};
*/
unsigned char Graph_buf7[10][25] = {{0},{0},
{3,3,3,3,3,0,0,3,3,3,3},
{3,0,0,0,3,0,0,3,0,0,3,3},
{3,0,0,2,3,3,3,3,0,2,0,3},
{3,0,2,0,4,4,4,4,2,0,0,3},
{3,3,0,1,0,3,0,0,0,0,3,3},
{0,3,3,3,3,3,3,3,3,3,3}};
/*
unsigned char Graph_buf8[10][25] = {{0},
{0,0,0,0,0,0,0,0,3,3,3,3,3},
{0,0,0,0,0,0,0,0,3,0,1,0,3},
{0,0,0,0,0,0,0,0,3,2,2,2,3},
{0,0,0,0,0,0,0,0,3,0,0,0,3,3,3,3},
{0,0,0,0,0,0,0,3,3,2,3,4,0,0,0,3},
{0,0,0,0,0,0,0,3,4,0,4,2,4,2,0,3},
{0,0,0,0,0,0,0,3,3,4,3,4,3,0,0,3},
{0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3}};
*/
unsigned char Graph_buf8[10][25] = {{0},
{0,0,3,3,3,3,3},
{0,0,3,0,1,0,3},
{0,0,3,2,2,2,3},
{0,0,3,0,0,0,3,3,3,3},
{0,3,3,2,3,4,0,0,0,3},
{0,3,4,0,4,2,4,2,0,3},
{0,3,3,4,3,4,3,0,0,3},
{0,0,3,3,3,3,3,3,3,3}};
/*
unsigned char Graph_buf9[10][25] = {{0},
{0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,3},
{0,0,0,0,0,0,0,3,3,3,3,0,0,2,0,3},
{0,0,0,0,0,0,0,3,0,5,4,4,5,2,0,3},
{0,0,0,0,0,0,0,3,0,2,5,4,4,5,0,3},
{0,0,0,0,0,0,0,3,0,2,0,0,3,3,3,3},
{0,0,0,0,0,0,0,3,0,0,1,0,3},
{0,0,0,0,0,0,0,3,3,3,3,3,3}};
*/
unsigned char Graph_buf9[10][25] = {{0},
{0,0,0,0,3,3,3,3,3,3},
{0,0,0,0,3,0,0,0,0,3},
{0,3,3,3,3,0,0,2,0,3},
{00,3,0,5,4,4,5,2,0,3},
{0,3,0,2,5,4,4,5,0,3},
{0,3,0,2,0,0,3,3,3,3},
{0,3,0,0,1,0,3},
{0,3,3,3,3,3,3}};
/*
unsigned char Graph_buf10[10][25] ={{0},
{0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,3,0,0,0,0,3,3},
{0,0,0,0,0,0,0,0,3,0,2,0,5,0,3},
{0,0,0,0,0,0,0,0,3,3,4,2,2,4,3},
{0,0,0,0,0,0,0,0,3,4,0,1,0,4,3},
{0,0,0,0,0,0,0,0,3,4,2,2,4,3,3},
{0,0,0,0,0,0,0,0,3,0,5,0,2,0,3},
{0,0,0,0,0,0,0,0,3,3,0,0,0,0,3},
{0,0,0,0,0,0,0,0,0,3,3,3,3,3,3}};
*/
unsigned char Graph_buf10[10][25] ={{0},
{0,0,3,3,3,3,3,3},
{0,0,3,0,0,0,0,3,3},
{0,0,3,0,2,0,5,0,3},
{0,0,3,3,4,2,2,4,3},
{0,0,3,4,0,1,0,4,3},
{0,0,3,4,2,2,4,3,3},
{0,0,3,0,5,0,2,0,3},
{0,0,3,3,0,0,0,0,3},
{0,0,0,3,3,3,3,3,3}};
/*
unsigned char Graph_buf11[10][25] ={{0},{0},
{0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3},
{0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3},
{0,0,0,0,0,0,0,3,0,2,3,2,3,0,0,0,3},
{0,0,0,0,0,0,0,3,4,2,4,0,0,2,2,0,3},
{0,0,0,0,0,0,0,3,4,4,4,3,3,3,1,0,3},
{0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3}};
*/
unsigned char Graph_buf11[10][25] ={{0},{0},
{0,3,3,3,3,3,3,3,3,3,3},
{0,3,0,0,0,0,0,0,0,0,3},
{0,3,0,2,3,2,3,0,0,0,3},
{0,3,4,2,4,0,0,2,2,0,3},
{0,3,4,4,4,3,3,3,1,0,3},
{0,3,3,3,3,3,3,3,3,3,3}};
/*
unsigned char Graph_buf12[10][25] ={{0},
{0,0,0,0,0,0,0,0,0,0,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,3,4,4,3},
{0,0,0,0,0,0,0,0,0,3,3,4,0,3,3},
{0,0,0,0,0,0,0,0,0,3,4,2,0,0,3},
{0,0,0,0,0,0,0,0,3,3,0,0,2,0,3,3},
{0,0,0,0,0,0,0,0,3,0,2,2,3,0,0,3},
{0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,3},
{0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3}};
*/
unsigned char Graph_buf12[10][25] ={{0},
{0,0,0,0,3,3,3,3},
{0,0,0,0,3,4,4,3},
{0,0,0,3,3,4,0,3,3},
{0,0,0,3,4,2,0,0,3},
{0,0,3,3,0,0,2,0,3,3},
{0,0,3,0,2,2,3,0,0,3},
{0,0,3,0,0,0,1,0,0,3},
{0,0,3,3,3,3,3,3,3,3}};
/*
unsigned char Graph_buf13[10][25] ={{0},
{0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3},
{0,0,0,0,3,3,3,3,3,3,3,3,3,0,0,0,3},
{0,0,0,0,3,0,0,0,0,0,0,0,2,0,2,0,3},
{0,0,0,0,3,0,0,2,2,3,0,2,0,0,3,3,3,3,3},
{0,0,0,0,3,3,3,0,0,0,0,3,3,0,3,0,0,0,3},
{0,0,0,0,0,0,3,2,0,0,3,3,0,0,0,4,4,4,3},
{0,0,0,0,0,0,3,0,0,2,0,0,2,2,3,4,4,4,3},
{0,0,0,0,0,0,3,3,0,0,3,1,0,0,3,4,4,4,3},
{0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,3}};
*/
/*
unsigned char Graph_buf13[10][25] ={{0},
{0,0,0,0,0,0,0,0,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,0,0,0,3},
{3,0,0,0,0,0,0,0,2,0,2,0,3},
{3,0,0,2,2,3,0,2,0,0,3,3,3,3,3},
{3,3,3,0,0,0,0,3,3,0,3,0,0,0,3},
{0,0,3,2,0,0,3,3,0,0,0,4,4,4,3},
{0,0,3,0,0,2,0,0,2,2,3,4,4,4,3},
{0,0,3,3,0,0,3,1,0,0,3,4,4,4,3},
{0,0,0,3,3,3,3,3,3,3,3,3,3,3,3}};
*/
/*
unsigned char Graph_buf14[10][25] ={{0},{0},
{0,0,0,0,0,0,0,0,3,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,3,4,0,4,0,4,3},
{0,0,0,0,0,0,0,0,3,0,2,2,2,0,3},
{0,0,0,0,0,0,0,0,3,4,2,1,2,4,3},
{0,0,0,0,0,0,0,0,3,0,2,2,2,0,3},
{0,0,0,0,0,0,0,0,3,4,0,4,0,4,3},
{0,0,0,0,0,0,0,0,3,3,3,3,3,3,3}};
*/
unsigned char Graph_buf13[10][25] ={{0},{0},
{0,0,3,3,3,3,3,3,3},
{0,0,3,4,0,4,0,4,3},
{0,0,3,0,2,2,2,0,3},
{0,0,3,4,2,1,2,4,3},
{0,0,3,0,2,2,2,0,3},
{0,0,3,4,0,4,0,4,3},
{0,0,3,3,3,3,3,3,3}};
/*
unsigned char Graph_buf15[10][25] ={{0},
{0,0,0,0,0,0,0,3,3,3,3,3,3,0,0,0},
{0,0,0,0,0,0,0,3,1,0,0,4,3,3,3,3},
{0,0,0,0,0,0,0,3,0,0,2,2,2,0,0,3},
{0,0,0,0,0,0,0,3,4,3,3,4,3,3,4,3},
{0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,3},
{0,0,0,0,0,0,0,3,3,0,3,4,2,0,0,3},
{0,0,0,0,0,0,0,0,3,0,0,0,3,3,3,3},
{0,0,0,0,0,0,0,0,3,3,3,3,3}};
*/
unsigned char Graph_buf14[10][25] ={{0},
{0,3,3,3,3,3,3,0,0,0},
{0,3,1,0,0,4,3,3,3,3},
{0,3,0,0,2,2,2,0,0,3},
{0,3,4,3,3,4,3,3,4,3},
{0,3,0,0,0,2,0,0,0,3},
{0,3,3,0,3,4,2,0,0,3},
{0,0,3,0,0,0,3,3,3,3},
{0,0,3,3,3,3,3}};
/*
unsigned char Graph_buf16[10][25] ={{0},
{0,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,3,4,4,0,4,3},
{0,0,0,0,0,0,0,0,0,3,4,2,0,4,3},
{0,0,0,0,0,0,0,0,3,3,2,0,0,3,3,3},
{0,0,0,0,0,0,0,0,3,0,2,0,0,2,0,3},
{0,0,0,0,0,0,0,0,3,0,3,3,2,3,0,3},
{0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,3},
{0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3}};
*/
unsigned char Graph_buf15[10][25] ={{0},
{0,0,0,3,3,3,3,3,3},
{0,0,0,3,4,4,0,4,3},
{0,0,0,3,4,2,0,4,3},
{0,0,3,3,2,0,0,3,3,3},
{0,0,3,0,2,0,0,2,0,3},
{0,0,3,0,3,3,2,3,0,3},
{0,0,3,0,0,1,0,0,0,3},
{0,0,3,3,3,3,3,3,3,3}};
/*
unsigned char Graph_buf17[10][25] ={{0},
{0,0,0,0,0,0,0,3,3,3,3,3},
{0,0,0,0,0,0,0,3,0,0,0,3,3,3,3,3},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -