• 大小: 82KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: 其他
  • 标签: 推箱子  

资源简介

用win32GDI函数编程实现推箱子小游戏,GDI自绘个性化界面

资源截图

代码片段和文件信息

/********************************
名称:推箱子
描述:用win32程序实现推箱子小游戏
编译:codeblocks16.01  vs2010
创建:零千刻
日期:170525
*********************************/
#if defined(UNICODE) && !defined(_UNICODE)
#define _UNICODE
#elif defined(_UNICODE) && !defined(UNICODE)
#define UNICODE
#endif
#include 
#include 
#include“resource.h“

#include“mapfile.h“//本项目头文件,不可用<>

/*个性化窗口 无标题栏 开启居中*/
#define WINDOW_WIDTH 640 //为窗口宽度定义的宏,以方便在此处修改窗口宽度
#define WINDOW_HEIGHT 600 //为窗口高度定义的宏,以方便在此处修改窗口高度
HDC hdcmdc;
HWND hwnd;
LPCSTR szClassName=_T(“CodeBlocksWindowsApp“);
bool RefWin=true;
bool BtnClose=true;
bool Btn1=true;

LRESULT CALLBACK WindowProcedure (HWND UINT WPARAM LPARAM);
LRESULT CALLBACK WindowProcedurePush (HWND UINT WPARAM LPARAM);
bool Init(HWND);
void MouseMove(HWNDintintWPARAM);
void MouseClick(HWNDintintWPARAM );
void DrawFace(HDC);
void TextFace(HDC);
bool CleanUp(HWND);

void DrawMap(HDC);
void PlayGame(WPARAM);
void TextManage(HDC);
void DrawMapbase();
void nextMap(HDC);
void TextChange(HDC);
void DrawBox(HDCintintint);

COORD coord= {00};
//COORD是Windows API中定义的一种结构,表示一个字符在控制台屏幕上的坐标。

int map[14][16]= {};
bool mapNumWait=true;//地图关卡数
int mapNumGoing=1;//地图关卡数
int mapNumGoingC=1;//地图关卡数副本
bool nextm=true;
bool textc=false;
bool nextK=true;
int iox=0;
int jox=0;
short m=10;//关卡设置
DWORD bytes=0;
HBITMAP boxbmp;
HBITMAP boxbmpPart[6];

int WINAPI WinMain (HINSTANCE hThisInstance
                    HINSTANCE hPrevInstance
                    LPSTR lpszArgument
                    int nCmdShow)
{
    MSG msg= {0};

    WNDCLASSEX wincl;
    HINSTANCE hThisInstancePush;
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;
    wincl.style = CS_DBLCLKS;
    wincl.cbSize = sizeof (WNDCLASSEX);

    wincl.hIcon = LoadIcon (NULL (LPCSTR)IDI_ICON1);
    wincl.hIconSm = LoadIcon (NULL IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL IDC_ARROW);
    wincl.lpszMenuName = NULL;
    wincl.cbClsExtra = 0;
    wincl.cbWndExtra = 0;
    wincl.hbrBackground = CreateSolidBrush(RGB(154205141));

    if (!RegisterClassEx (&wincl))
        return 0;

    /*非全屏状态下,窗口显示在屏幕中心*/
    int nPosXnPosYnWndWidthnWndHeight;
    nPosX=0;
    nPosY=0;
    nWndWidth=WINDOW_WIDTH; //设置窗口大小为游戏画面大小
    nWndHeight=WINDOW_HEIGHT;
    //计算加上边框后的窗口大小
    nWndWidth=WINDOW_WIDTH+GetSystemMetrics(SM_CXFIXEDframe)*2;
    nWndHeight=WINDOW_HEIGHT+GetSystemMetrics(SM_CYFIXEDframe)*10;
    //计算在窗口居中时,窗口左上角的位置
    nPosX=(GetSystemMetrics(SM_CXSCREEN)-nWndWidth)/2;
    nPosY=(GetSystemMetrics(SM_CYSCREEN)-nWndHeight)/2;

    hwnd = CreateWindowEx (
               0
               szClassName
               _T(“Code::Blocks Template Windows App“)
               WS_POPUP//WS_POPUP弹出式无边框窗口
               nPosX
               nPosY
               WINDOW_WIDTH
               WINDOW_HEIGHT
  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      92368  2017-06-09 00:28  win32gdiFuncPushBox\bin\Debug\win32gdiPushBox.exe

     文件      48640  2017-06-09 00:28  win32gdiFuncPushBox\bin\Release\win32gdiPushBox.exe

     文件       2238  2017-06-01 21:40  win32gdiFuncPushBox\box1.ico

     文件        303  2017-06-01 21:42  win32gdiFuncPushBox\icon.rc

     文件      36385  2017-06-09 00:27  win32gdiFuncPushBox\main.cpp

     文件      10116  2017-05-21 22:44  win32gdiFuncPushBox\mapfile.cpp

     文件      10210  2017-05-21 23:04  win32gdiFuncPushBox\mapfile.h

     文件       2498  2017-06-01 21:43  win32gdiFuncPushBox\obj\Debug\icon.res

     文件      60719  2017-06-09 00:28  win32gdiFuncPushBox\obj\Debug\main.o

     文件       2498  2017-06-01 21:42  win32gdiFuncPushBox\obj\Release\icon.res

     文件      81160  2017-06-09 00:28  win32gdiFuncPushBox\obj\Release\main.o

     文件        108  2017-06-01 21:42  win32gdiFuncPushBox\resource.h

     文件       1426  2017-06-03 00:43  win32gdiFuncPushBox\win32gdiFuncPushBox.cbp

     文件       1038  2017-06-09 00:38  win32gdiFuncPushBox\win32gdiFuncPushBox.depend

     文件        726  2017-06-09 00:39  win32gdiFuncPushBox\win32gdiFuncPushBox.layout

     文件       1425  2017-06-02 22:48  win32gdiFuncPushBox\win32gdiPushBox.cbp

     文件        205  2017-06-09 00:19  win32gdiFuncPushBox\win32gdiPushBox.depend

     文件        728  2017-06-09 00:22  win32gdiFuncPushBox\win32gdiPushBox.layout

     目录          0  2017-06-09 00:28  win32gdiFuncPushBox\bin\Debug

     目录          0  2017-06-09 00:28  win32gdiFuncPushBox\bin\Release

     目录          0  2017-06-09 00:28  win32gdiFuncPushBox\obj\Debug

     目录          0  2017-06-09 00:28  win32gdiFuncPushBox\obj\Release

     目录          0  2017-06-02 22:28  win32gdiFuncPushBox\bin

     目录          0  2017-06-02 22:28  win32gdiFuncPushBox\obj

     目录          0  2017-06-09 00:39  win32gdiFuncPushBox

----------- ---------  ---------- -----  ----

               352791                    25


评论

共有 条评论