chapter11扫雷做法详解

chapter11扫雷做法详解

ID:39962823

大小:514.31 KB

页数:70页

时间:2019-07-16

chapter11扫雷做法详解_第1页
chapter11扫雷做法详解_第2页
chapter11扫雷做法详解_第3页
chapter11扫雷做法详解_第4页
chapter11扫雷做法详解_第5页
资源描述:

《chapter11扫雷做法详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Windows程序设计西安邮电学院系统结构教研室指导老师:范琳扫雷游戏做法详解分析游戏界面如何制作剩余雷数框如何制作时间框装入各种资源文件如何制作中心控制按钮用矩阵来表示游戏区?初始化处理所有的消息算法中的精华——迭代算法游戏介绍:游戏区16×16的矩阵中,随机播撒40个地雷。对于每个方格,如果没有雷,则计算它周围8个相邻方格中雷的个数,填入自己方格内。左键按下,使得方块或复位按钮处于被按下的状态。左键弹起,能使的方块翻开。点击到雷,游戏结束。鼠标左键按下且移动,使得途经的方块处于被按下的状态,移开后,

2、方块恢复正常状态。右键1次点击,能使的方块标记为有雷,2次点击,使的方块标记为“?”,3次点击,清除标记。正确标记完所有雷,游戏成功。左右双键同时点击,如果方块相邻8个位置中的标记数=方块显示的数字,则相邻8个方块中未被标记的方块都被翻开。分析游戏界面标题栏,普通的样式窗口菜单计时器剩余雷数16×16方格游戏区复位按钮扫雷游戏做法详解分析游戏界面如何制作剩余雷数框如何制作时间框装入各种资源文件如何制作中心控制按钮用矩阵来表示游戏区?初始化处理所有的消息算法中的精华——迭代算法如何制作剩余雷数框?在一个1

3、6×16大小的游戏区中,雷数初始化为40。需要一个全局变量:intmines_left=40;雷数显示的位置在哪里呢?定义一个rect,便于我们输出数据和刷新。RECTmines_left_rc={0,0,0,0};caseWM_SIZE:cxClient=LOWORD(lParam);cyClient=HIWORD(lParam);mines_left_rc.left=30;mines_left_rc.top=(50-15)/2;mines_left_rc.right=mines_left_rc.le

4、ft+3*cxChar;mines_left_rc.bottom=mines_left_rc.top+cyChar;显示这样一个值,可以有多种方法,方法一:charszTemp[10];ZeroMemory(szTemp,10);TextOut(hdc,mines_left_rc.left,mines_left_rc.top,szTemp,wsprintf(szTemp,TEXT("%d"),mines_left));方法二:charszTemp[10];ZeroMemory(szTemp,10);lt

5、oa(mines_left,szTemp,10);TextOut(hdc,mines_left_rc.left,mines_left_rc.top,szTemp,strlen(szTemp));显示雷数值方法三:charszTemp[10];ZeroMemory(szTemp,10);szTemp[0]=mines_left/10+48;szTemp[1]=mines_left%10+48;TextOut(hdc,mines_left_rc.left,mines_left_rc.top,szTemp,s

6、trlen(szTemp));每次有方块被标记为有雷时,mines_left--;并且刷新time_rc即可:InvalidateRect(main_hwnd,&time_rc,TRUE);如何制作时间框时间的显示与剩余雷数的显示类似,也需要一个全局变量来表示时间。inttime_count=0;同时定义一个rect,便于我们输出时间与更新:RECTtime_rc={0,0,0,0};caseWM_SIZE:cxClient=LOWORD(lParam);cyClient=HIWORD(lParam);

7、time_rc.left=cxClient-40;time_rc.top=(50-15)/2;time_rc.right=time_rc.left+4*cxChar;time_rc.bottom=time_rc.top+cyChar;在游戏开始时设置一个计时器:SetTimer(hwnd,TIMER_SEC,1000,NULL);每个时间消息来时,都做以下工作:caseWM_TIMER:if(游戏还在进行){time_count++;使得时间框无效,即刷新时间框。}break;当重新开始新一轮的游戏时,

8、使得time_count=0;扫雷游戏做法详解分析游戏界面如何制作剩余雷数框如何制作时间框装入各种资源文件如何制作中心控制按钮用矩阵来表示游戏区?初始化处理所有的消息算法中的精华——迭代算法装入各种资源文件装入图片文件:FACE0,FACE0_downFACE1,FACE1_downFACE2,FACE2_downSTATE0~STATE4NUM0~NUM8NUM9~NUM10装入图片文件:back_top装入menu文件:程序中如何操作图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。