#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <windows.h>
Go to the source code of this file.
|
static BOOL | InitApplication (HINSTANCE hInstance) |
|
static BOOL | InitInstance (HINSTANCE hInstance, int nCmdShow) |
|
LRESULT CALLBACK | WndProc (HWND hWnd, UINT message, WPARAM uParam, LPARAM lParam) |
|
static void | set_maze_sizes (int width, int height) |
|
static void | initialize_maze () |
|
static int | choose_door () |
|
static long | backup () |
|
static void | draw_wall () |
|
static void | draw_solid_square (int, int, int, HDC, HBRUSH) |
|
static void | enter_square (int, HDC, HBRUSH) |
|
static void | create_maze () |
|
static int | choose_door (HDC hDC) |
|
static void | draw_maze_border (HWND hWnd, HDC hDC) |
|
static void | draw_wall (int i, int j, int dir, HDC hDC) |
|
static void | begin_solve_maze () |
|
static int | solve_maze () |
|
static void | start_timer (HWND hWnd, int iTimeout) |
|
int APIENTRY | WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) |
|
static BOOL | OnCreate (HWND hWnd, LPCREATESTRUCT lpCreateStruct) |
|
void | OnTimer (HWND hwnd, UINT id) |
|
◆ APIENTRY
◆ border_x
◆ border_y
◆ DLGPROC
◆ DOOR_IN_ANY
◆ DOOR_IN_BOTTOM
◆ DOOR_IN_LEFT
◆ DOOR_IN_RIGHT
◆ DOOR_IN_TOP
◆ DOOR_OUT_BOTTOM
◆ DOOR_OUT_LEFT
◆ DOOR_OUT_RIGHT
◆ DOOR_OUT_TOP
◆ END_SQUARE
◆ get_random
◆ MAX_MAZE_SIZE_X
◆ MAX_MAZE_SIZE_Y
◆ MOVE_LIST_SIZE
◆ START_SQUARE
◆ STRICT
◆ WALL_BOTTOM
◆ WALL_LEFT
◆ WALL_RIGHT
◆ WALL_TOP
◆ backup()
Definition at line 367 of file maze.c.
static struct @1525 move_list[MOVE_LIST_SIZE]
Referenced by create_maze().
◆ begin_solve_maze()
static void begin_solve_maze |
( |
| ) |
|
|
static |
Definition at line 487 of file maze.c.
489 static long grayPattern[] = {
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
BITMAPINFOHEADER bmiHeader
HDC WINAPI GetDC(_In_opt_ HWND)
_In_ HBITMAP _In_ UINT _In_ UINT _Inout_ LPBITMAPINFO pbmi
struct tagBITMAPINFOHEADER BITMAPINFOHEADER
#define memcpy(s1, s2, n)
static unsigned short maze[MAX_MAZE_SIZE_X][MAX_MAZE_SIZE_Y]
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
HBRUSH WINAPI CreateDIBPatternBrushPt(_In_ const VOID *pvPackedDIB, _In_ UINT uUsage)
Referenced by WinMain().
◆ choose_door() [1/2]
static int choose_door |
( |
| ) |
|
|
static |
◆ choose_door() [2/2]
static int choose_door |
( |
HDC |
hDC | ) |
|
|
static |
Definition at line 286 of file maze.c.
289 register int num_candidates;
306 candidates[num_candidates++] = 0;
322 candidates[num_candidates++] = 1;
338 candidates[num_candidates++] = 2;
354 candidates[num_candidates++] = 3;
357 if (num_candidates == 0)
359 if (num_candidates == 1)
360 return ( candidates[0] );
361 return ( candidates[
get_random(num_candidates) ] );
static unsigned short maze[MAX_MAZE_SIZE_X][MAX_MAZE_SIZE_Y]
◆ create_maze()
static void create_maze |
( |
| ) |
|
|
static |
Definition at line 235 of file maze.c.
237 register int i, newdoor = 0;
HDC WINAPI GetDC(_In_opt_ HWND)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
static struct @1525 move_list[MOVE_LIST_SIZE]
static unsigned short maze[MAX_MAZE_SIZE_X][MAX_MAZE_SIZE_Y]
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static struct @1525 save_path[MOVE_LIST_SIZE]
Referenced by WinMain().
◆ draw_maze_border()
Definition at line 417 of file maze.c.
HGDIOBJ WINAPI GetStockObject(_In_ int)
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
static void draw_solid_square(int, int, int, HDC, HBRUSH)
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
static unsigned short maze[MAX_MAZE_SIZE_X][MAX_MAZE_SIZE_Y]
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Referenced by WinMain().
◆ draw_solid_square()
Definition at line 380 of file maze.c.
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
Referenced by draw_maze_border(), enter_square(), and solve_maze().
◆ draw_wall() [1/2]
static void draw_wall |
( |
| ) |
|
|
static |
◆ draw_wall() [2/2]
Definition at line 455 of file maze.c.
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
◆ enter_square()
static void enter_square |
( |
int |
n, |
|
|
HDC |
hDC, |
|
|
HBRUSH |
hBrush |
|
) |
| |
|
static |
Definition at line 574 of file maze.c.
GLint GLint GLint GLint GLint x
static void draw_solid_square(int, int, int, HDC, HBRUSH)
GLint GLint GLint GLint GLint GLint y
Referenced by solve_maze().
◆ InitApplication()
Definition at line 750 of file maze.c.
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM uParam, LPARAM lParam)
Referenced by WinMain().
◆ initialize_maze()
static void initialize_maze |
( |
| ) |
|
|
static |
Definition at line 139 of file maze.c.
141 register int i,
j, wall;
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
static unsigned short maze[MAX_MAZE_SIZE_X][MAX_MAZE_SIZE_Y]
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Referenced by WinMain().
◆ InitInstance()
Definition at line 790 of file maze.c.
BOOL WINAPI UpdateWindow(_In_ HWND)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define WS_OVERLAPPEDWINDOW
Referenced by WinMain().
◆ OnCreate()
Definition at line 826 of file maze.c.
static int pre_solve_delay
void __cdecl srand(_In_ unsigned int _Seed)
_Check_return_ int __cdecl rand(void)
static int post_solve_delay
static void set_maze_sizes(int width, int height)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
UINT WINAPI GetPrivateProfileIntA(LPCSTR section, LPCSTR entry, INT def_val, LPCSTR filename)
Referenced by WndProc().
◆ OnTimer()
◆ set_maze_sizes()
static void set_maze_sizes |
( |
int |
width, |
|
|
int |
height |
|
) |
| |
|
static |
Definition at line 130 of file maze.c.
GLint GLint GLsizei width
GLint GLint GLsizei GLsizei height
Referenced by OnCreate().
◆ solve_maze()
static int solve_maze |
( |
| ) |
|
|
static |
Definition at line 537 of file maze.c.
567 }
while (! action_done);
static void enter_square(int, HDC, HBRUSH)
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
GLint GLint GLint GLint GLint x
static void draw_solid_square(int, int, int, HDC, HBRUSH)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
static unsigned short maze[MAX_MAZE_SIZE_X][MAX_MAZE_SIZE_Y]
GLint GLint GLint GLint GLint GLint y
Referenced by WinMain().
◆ start_timer()
Definition at line 597 of file maze.c.
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
Referenced by WinMain().
◆ WinMain()
Definition at line 624 of file maze.c.
633 if (!hPrevInstance) {
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
static int pre_solve_delay
HDC WINAPI GetDC(_In_opt_ HWND)
BOOL WINAPI WaitMessage(void)
TW_UINT32 TW_UINT16 TW_UINT16 MSG
static void start_timer(HWND hWnd, int iTimeout)
static BOOL InitApplication(HINSTANCE hInstance)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
static void create_maze()
static int post_solve_delay
static void initialize_maze()
static void begin_solve_maze()
static BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
static void draw_maze_border(HWND hWnd, HDC hDC)
◆ WndProc()
Definition at line 869 of file maze.c.
void OnTimer(HWND hwnd, UINT id)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
static BOOL OnCreate(HWND hWnd, LPCREATESTRUCT lpCreateStruct)
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
Referenced by InitApplication().
◆ bw
Definition at line 377 of file maze.c.
Referenced by DECLAREContigPutFunc(), DFB_BltFromVGA(), DFB_BltToDIB(), DFB_BltToVGA(), DFB_BltToVGA_Transparent(), DIB_BltToDFB(), draw_solid_square(), EDIT_SetRectNP(), EDIT_WM_Paint(), f_write(), HEADER_DrawItem(), OnCreate(), and textcmpWT().
◆ cur_sq_x
◆ cur_sq_y
◆ dir
◆ dummy
Definition at line 118 of file maze.c.
Referenced by __drv_maxIRQL(), __rpc_getconfip(), _authenticate(), _chm_get_cmpblock_bounds(), _tgetdcwd(), AddColumns(), AddListViewItems(), AttachConsole(), authdes_seccreate(), authnone_marshal(), cf2_hintmap_build(), cff_get_advances(), cff_slot_load(), check_type1_format(), child_process(), clnt_dg_freeres(), clnt_vc_freeres(), create_shortcut(), create_test_dll(), create_test_dll_sections(), dlg_configure_com(), dlgproc_addport(), dlgproc_lptconfig(), ExtCabCallback(), FT_Glyph_To_Bitmap(), ftGdiGetTextCharsetInfo(), get_item(), get_mmioFromFile(), get_server(), GetBatchVar(), GetDiaogTextureBrush(), getpass(), GetThemeServiceProcessHandle(), gluBuild1DMipmaps(), GRPFILE_ReadGroupFile(), GRPFILE_WriteGroupFile(), HGLOBALStreamImpl_Clone(), HTTP_HttpOpenRequestW(), CShellDispatch::IsServiceRunning(), ITERATE_StartService(), ios_base::iword(), ldap_add_extW(), ldap_delete_extW(), ldap_modify_extW(), listen_pipe(), LoadLibraryShim(), localui_AddPortUI(), localui_DeletePortUI(), LookupObjTypeMap(), named_pipe_client_func(), CExplorerBand::NavigateToCurrentFolder(), ODBC32_SQLDescribeCol(), ODBC32_SQLDescribeColW(), OLEPictureImpl_Save(), PROFILE_Open(), ps_mask_table_merge(), ps_tocoordarray(), ps_tofixedarray(), ios_base::pword(), rdpdr_check_fds(), read_data(), read_keyboard_state(), restore_remote_modifiers(), rpc_broadcast(), RpcObjectSetType(), send_add_dir(), SendFilterMessage(), serverThreadMain3(), serverThreadMain4(), SetupCommitFileQueueW(), SHRegWriteUSValueW(), src_callback_read(), sspi_unwrap(), sspi_verify_mic(), sspi_wrap(), start_rpcss(), FxUsbUrbContext::StoreAndReferenceMemory(), svc_reg(), TAB_LButtonDown(), test_bcm_splitinfo(), test_condvars_base(), test_condvars_consumer_producer(), test_data_cache_save_data(), test_empty(), test_ExitProcess(), test_GetGlyphOutline(), test_GetObject(), test_HlinkClone(), test_HlinkGetSetMonikerReference(), test_import_resolution(), test_marshal_and_unmarshal_invalid(), test_metadata_APE(), test_metadata_GCE(), test_metadata_GIF_comment(), test_metadata_IMD(), test_metadata_LSD(), test_OpenProcess(), test_ParseURLFromOutsideSourceA(), test_ParseURLFromOutsideSourceW(), test_query_process_wow64(), test_ResolveDelayLoadedAPI(), test_RtlIpv4StringToAddress(), test_section_access(), test_service(), test_SetInitialHlink(), test_srwlock_base(), test_srwlock_example(), test_supporterrorinfo(), test_TerminateProcess(), test_xmlelem_collection(), test_XMLHTTP(), TestLockBytes_ReadAt(), TestLockBytes_WriteAt(), ThemeWaitForServiceReady(), TOOLBAR_Size(), TWAIN_ProcessEvent(), Usage(), USBD_GetDeviceInformationEx(), USBH_GetDeviceType(), VfdCheckDriverFile(), vgaWriteScan(), wmain(), write_union_tfs(), xdr_multi_addr(), xdr_netbuf(), xdr_rpcb_rmtcallres(), and xdr_rpcblist().
◆ end_dir
◆ end_x
◆ end_y
◆ grid_height
◆ grid_width
◆ hBrushDead
◆ hBrushLiving
◆ hDC
◆ hInst
◆ hWnd
Definition at line 71 of file maze.c.
Referenced by AboutProc(), begin_solve_maze(), create_maze(), InitInstance(), OnCreate(), ReadSettings(), ScreenSaverConfigureDialog(), ScreenSaverProc(), solve_maze(), start_timer(), WinMain(), and WndProc().
◆ maze
◆ maze_size_x
◆ maze_size_y
◆ move_list
◆ path
◆ path_length
◆ pathi
◆ post_solve_delay
◆ pre_solve_delay
◆ save_path
◆ solve_delay
◆ sqnum
◆ start_dir
◆ start_x
◆ start_y
◆ state
◆ szAppName
char szAppName[] = "Maze" |
◆ szTitle
◆ waiting