资源简介
windows编程实现俄罗斯方块,多文件管理,思路清晰,实现简单。
代码片段和文件信息
#include “paint.h“
#include “play.h“
LRESULT CALLBACK WndProc(HWND hwnd UINT message WPARAM wParam LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstanceHINSTANCE hPreInstanceLPSTR lpCmdLineint nCmdShow)
{
//1.初始化窗口类
WNDCLASSEX wndClass = { 0 };
wndClass.cbSize = sizeof(WNDCLASSEX);
wndClass.cbClsExtra = 0;
wndClass.cbWndExtra = 0;
wndClass.hbrBackground = (HBRUSH)GetStockobject(GRAY_BRUSH);
wndClass.hCursor = LoadCursor(NULLIDC_ARROW);
wndClass.hIcon = (HICON)::LoadImage(NULLL“icon.ico“IMAGE_ICON00LR_LOADFROMFILE |LR_DEFAULTCOLOR);
wndClass.hIconSm = NULL;
wndClass.hInstance = hInstance;
wndClass.lpfnWndProc = WndProc;
wndClass.lpszClassName = L“Tetris Game“; //窗口类名
wndClass.lpszMenuName = 0;
wndClass.style = CS_HREDRAW | CS_VREDRAW;
//2.注册窗口
if (!RegisterClassEx(&wndClass))
{
return -1;
}
//3.创建窗口
HWND hwnd = CreateWindow(L“Tetris Game“ WINDOWS_title WS_OVERLAPPEDWINDOW 100 30 WINDOWS_HEIGHT WINDOWS_WIDTH NULL NULL hInstance NULL);
//4.窗口的显示 移动 更新
//MoveWindow(hwnd25080WINDOWS_HEIGHTWINDOWS_WIDTHtrue);
ShowWindow(hwnd nCmdShow);
//UpdateWindow(hwnd);
PlaySound(L“城之内ミサ-雪花“NULLSND_ASYNC | SND_FILENAME |SND_LOOP);
//5.消息循环
MSG msg = { 0 };
while (GetMessage(&msgNULL00))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
//6. 窗口注销
UnregisterClass(L“Tetris Game“ wndClass.hInstance); //程序准备结束 注销窗口类
return 0;
}
LRESULT CALLBACK WndProc(HWND hwnd UINT message WPARAM wParam LPARAM lParam)
{
int id[2] = { 0 1 };
PAINTSTRUCT paintStruct;
switch(message)
{
case WM_CREATE: //只产生一次
//初始化数据
OnCreate();
break;
case WM_TIMER: //定时器
OnTimer(hwnd);
break;
case WM_KEYDOWN:
switch (wParam) //按键消息
{
case VK_RETURN:
OnReturn(hwnd);
break;
case VK_UP:
onchangeSqare(hwnd);
break;
case VK_DOWN:
OnDown(hwnd);
break;
case VK_LEFT:
OnLeft(hwnd);
break;
case VK_RIGHT:
OnRight(hwnd);
break;
}
break;
case WM_PAINT: //绘画
BeginPaint(hwnd &paintStruct);
OnPaint(hwnd);
EndPaint(hwnd &paintStruct);
break;
case WM_CLOSE:
if (6 == MessageBox(hwnd L“确实要退出?“ L“Tetris Game“ MB_YESNO)) // IDYES == 6 IDNO == 7
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
KillTimer(hwnd DEF_TIMER1);
Game_CleanUp(hwnd); //资源清理
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd message wParam lParam);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 132 2017-06-28 18:40 define.h
文件 14702 2017-06-27 23:53 icon.ico
文件 2601 2017-07-01 13:26 main.cpp
文件 5631 2017-07-01 13:57 paint.cpp
文件 968 2017-07-01 13:52 paint.h
文件 7772 2017-07-01 13:57 play.cpp
文件 811 2017-07-01 13:57 play.h
文件 1757535 2017-06-29 17:46 城之内ミサ-雪花.wav
- 上一篇:ftp教学资源服务器 设计报告
- 下一篇:研究生综合英语1修订版答案
相关资源
- win32汇编版俄罗斯方块
- ping命令程序设计
- WindowsLoader.exe
- sunxi-tools-fel-windows
- Windows下hadoop3.1.0 64位hadoop.dll和winuti
- Qt制作的记事本软件
- StartlsBack++
- pthreads-w32-2.9.1-release.zip
- 武汉大学数字图像处理期末实习代码
- windows程序自动升级方案
- windows form 窗体的GDI+使用,根据数据库
- UWF安装包windows 10 x64 1803提取版
- Windows10+VS2015+PCL1.8.1配置
- 一卡通乘车系统
- tiff-4.0.10-windows
- RDO中文破解版 连接windows神器
-
Pla
yer.zip - TFIDF算法实现
- 算法训练营题目合集-已转档.pdf
- windows下专用kiwi syslog日志服务器安装
- WIC_x86_chs.exe
- WINDOWS SERVER 2008 IIS负载均衡群集搭建
- 《寒江独钓:Windows内核安全编程》源码
- 独立任务最优调度问题+算法设计
- expect在Windows下的安装与使用
- funcode——黄金矿工
- windowsAPI大全
- 图书馆管理系统程序+全套开发文档系
- openssl1.1.1源码
- windows 程序设计 高清版
评论
共有 条评论