资源简介
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修订版答案
相关资源
- AE开发Windows最短路径分析
-
Windows em
bedded Compact 2013 应用开发调 - 黑苹果硬件兼容检测和查询软件
- Uninstall_Cortana_WINCLIENT.CN.rar
- VisualStudioUninstaller vs卸载工具
- 组态王驱动开发包3.0.0.7(中文)
- 多窗口后台鼠标连点器
- 使用选择性重传协议实现UDP可靠通信
- VMware65_SLP_DeLLSLIC2.1
- Windows异步套接字网络编程
- WINDOWS98启动盘镜像Win98.IMA
- VC 获得文件属性 获取文件的创建时
- 仿windows记事本
- 读者写者问题(读者优先,写者优先
- 用VC 编写的仿QQ聊天室程序源代码
- 外点法程序
- 外罚函数程序
- qt-电子点菜系统
- windows7用的,非常漂亮的透明计时器
- 推箱子及人工智能寻路C 源代码
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- MUSIC算法c 实现
- C 餐厅叫号系统(QT平)
- 国际象棋c 完整版
-
ob
jectARX给Auto CAD加工具条 - 画图程序MFC/VC/VC CRectTracker 串行化
- MFC网络编程实例
- c 课程设计 职工信息管理系统
- VC 游戏编程—附源代码
评论
共有 条评论