方块处理(2) ---十天教会你俄罗斯方块

一.定时器

启动定时器

UINT_PTR SetTimer(HWND hWnd,UINT_PTR nlDEvent,

UINT uElapse,TIMERPROC lpTimerFunc)

返回值:成功返回非零

参数1:窗口句柄hWnd

参数2:定时器ID

参数3:间隔时间,毫秒

参数4:处理函数的地址,如果为NULL则定时产生WM_TIMER消息

关闭定时器

BOOL KillTimer(HWND hWnd,UINT_PTR ulDEvent);

返回值:成功返回非0,失败返回0

二.键盘消息

case WM_KEYDOWN:

         switch(wParam){

               case VK_RETURN:

             OnReturn(hWnd);

            break;

            case VK_LEFT:

            break;

            case VK_RIGHT:

                break;

            case VK_UP:

                break;

                case VK_DOWN:

                    break;

}

break;

void OnReturn(HWND hWnd){SetTimer(hWnd,N_TIMER,T_TIMER,NULL);}

case WM_DESTROY:KillTimer(hWnd,N_TIMER);PostQuitMessage(0);break;

三.方块下落

void SquareDown(){ int i = 0; int j = 0; for(i=G_ARR_ROW-2;i>=0;i--) { for(j=0;j<G_ARR_RANK;j++) { if(1==g_arrBackGround[i][j]) { g_arrBackGround[i+1][j] = g_arrBackGround[i][j]; g_arrBackGround[i][j] = 0; } } }

}

void OnTimer(HWND hWnd){

//获取DC

HDC hDC = GetDC(hWnd);

// 方块下落

SquareDown();

// 显示方块

OnPaint(hDC);

//释放DC

ReleaseDC(hWnd,hDC);}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术总结

DWIntrosPage 简单定制引导页

下面摘取部分代码 DWIntrosPageContentViewController

14050
来自专栏Guangdong Qi

调用 MFMessageComposeViewController UINavigationBar 高出一截

17740
来自专栏飞扬的花生

可以添加自定义的Select控件

1.控件dom <select name="WebSiteTarget" id="WebSiteTarget" class="w1" onchange="edi...

24180
来自专栏陈满iOS

iOS网络请求之上传图片:从示例到源码解析 -- 以上传Face++SDK回调的图片为例(HYNetworking,AFNetworking,XMNetworking)

本文一开始上传图片以调用HYNetworking的API为例,这个网络框架是以AFNetworking为基础进行的封装。HYNetworking内部实现上传图片...

27020
来自专栏技术之路

【swift学习笔记】六.访facebook登录页面

代码最下边有下载地址。 做这个demo的主要心得就是自适应所有的屏幕,要先布局大的框架,再一步一步设置小的细节。 看一下效果 ? 再看一下自动适应所有屏幕的效果...

24880
来自专栏哈雷彗星撞地球

iOS 中如何判断当前是2G/3G/4G/5G/WiFi

5G 什么的,还得等苹果API更新啊,不过将来还是这个处理过程就是了。 关于判断当前的网络环境是2G/3G/4G,这个问题以前经常看到,最近在一工程里看到了如...

25820
来自专栏iOS开发攻城狮的集散地

iOS 仿系统指南针

22350
来自专栏iOS开发攻城狮的集散地

UIActivityViewController系统原生分享-仿简书分享

46780
来自专栏数据分析

Button和This的DialogResult

今天早操作WinForm时遇到了一个问题,在此和大家分享一下。 场景:在一个WinForm:A中通过按钮打开另外一个WinForm:B,A通过判断B中点击“OK...

34740
来自专栏西安-晁州

react-native学习之入门app

1、项目初始化: react-native init MyProject 2、启动项目: cd MyProject react-native start 新开c...

23500

扫码关注云+社区

领取腾讯云代金券