欢迎来到天天文库
浏览记录
ID:27437238
大小:332.50 KB
页数:38页
时间:2018-12-03
《VB课程设计报告 (1)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计题目扫雷游戏姓名:学号:难度:☆☆☆☆。知识点:(1)控件数组;(2)绘图(3)菜单(4)文本文件的读写;(5)多模块程序设计;(6)资源文件的使用一、功能a.功能要求(1)启动程序后,显示初始界面,游戏共有3种预定义的难度级别,分别是初级(9行9列10颗雷)、中级(16行16列40颗雷)和高级(30行16列99颗雷)。通过“游戏”菜单中的菜单项可以选择不同难度。使用“自定义”菜单命令打开自定义对话框,可以自行定义雷区的行数、列数和雷数。(2)雷区正上方是一个“小脸”图标,不同状态下,小脸显示出微笑、惊讶、痛苦和胜利等表情。任何情况下单击小脸,可以重新开始游戏。小
2、脸左边以LED(发光二级管)方式显示了当前雷区中未被标记出来的雷数,右边是游戏进行的秒数。计时是在用户第一次单击雷区的方块时开始。(3)使用右键单击一个方格将其标记为雷之后,不能再使用左键单击它,但可以再右键单击。右键再单击一次方格上显示“?”号(表示暂时不能确定),再单击第二次,恢复为普通样子。使用左键可以单击除了标记为有雷之外的所有未翻开的方格(包括标记为“?”号的)(4)如果一个38方格内显示的数字为N(1~8)且其周围已有N个方块被标记为有雷,这样便可以同时单击鼠标左键和右键将该方格周围所有的其他方格翻开,这样就不必一个一个地去单击了。不过如果标记有雷的方格中有标
3、记错了的,这时会被“炸死”。(5)扫雷失败时,程序用图标炸弹105显示所有雷位置,并将标记错了的和“炸了的”用炸弹104和炸弹103显示。(6)扫雷成功时,如果没有打破该难度级别的记录,显示“胜利”消息框;如果破了纪录,显示输入框提示输入用户名。通过“扫雷英雄榜”菜单命令,可以显示“扫雷英雄榜”对话框,其中列出了预设的3个难度级别的纪录保持者。因为自定义级别难度差别很大,所以不提供该级别的成绩记录。b.程序设计的思想和方法本游戏的功能类似于Windows操作系统自带扫雷游戏,设计之前,先了解这款游戏的规则。在不掀开任何的情况下,以最快的速度找出所有的地雷。如果在掀开方块的
4、过程中,不小心翻开藏有地雷的方块,则宣告失败,惟有将所有不含地雷的方块掀开,游戏才算成功(存活)。游戏的操作方面主要以鼠标为主,当鼠标指针对准未翻开的方块按下左键时即表示翻开方块,当鼠标指针对准未翻开的方块按下右键时即表示标示或疑似地雷,反复按下右键则方块会依未标示→标示→疑似38三者关系不断循环。使用者可以通过地雷区内的数表示以其为中心的周边八个方块内所含的地雷数。当按下的方块不是地雷,且周边也没有地雷时,方块会以被翻开的八个方向将空白方块翻开。一、课程设计的详细设计本程序共包括9个窗体,分别为frmMain,frmCustom,frmRecord,frmAbout,f
5、rmCheer,frmWin,frmMessage1,frmMessage2,frmMessage3和一个标准模块。当程序开始运行时,必须先加载各种图片PrivateSubForm_Load()DimiAsIntegerFori=0To4'加载表情图片SetpicFace(i)=LoadResPicture(140+i,0)NextFori=0To8SetpicNum(i)=LoadResPicture(115-i,0)'加载雷区数字图片NextFori=0To6SetpicArea(i)=LoadResPicture(100+i,0)'加载雷区非数字图片NextFori
6、=0To11SetpicTime(i)=LoadResPicture(120+i,0)'加载时间数字图片Next主窗体画面规划如图1所示:38①:游戏时间显示区(PictureBox)②:剩余地雷数显示区(PictureBox)③:表情图片显示区(PictureBox)④:地雷区图样(PictureBox)⑤:游戏时间的文本框显示(TextBox)⑥:计时器(Timer)⑦:综合显示区,存放时间、表情、剩余雷数的显示(PictureBox)⑧:菜单栏主界面各控件存放位置布局由以下语句控制:DimiAsInteger,jAsIntegerpicboxArea.Width=2
7、60*X'布置窗体和控件picboxArea.Height=260*YpicboxArea.ScaleWidth=picboxArea.Width38picboxArea.ScaleHeight=picboxArea.HeightpicboxShow.Width=picboxArea.WidthpicboxShow.ScaleHeight=picboxShow.HeightpicboxShow.ScaleWidth=picboxShow.WidthfrmMain.Width=picboxArea.Width+180frmMai
此文档下载收益归作者所有