- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计报告
——俄罗斯方块☆☆☆☆
俄罗斯方块的程序共由三个窗体组成。主窗体由10×20的方格组成,程序启动时,主窗体为空白。
当发生了“开始”按键的click事件或者按“回车”键后,窗体加载方格,并且“暂停”按键的visible属性变成
true ,使“暂停”按键显示,使开始按键隐藏。并且从网格顶部自动的随机落下长条型、“T”字型、“7”字
型、反“7”字型、“田字型5种形状之一。这五种形状都是由4个小方格组成。并且给下落的方格赋予随机
的颜色。用户可以用规定的键盘键是形状左移、右移、加速下落或者旋转(不能向上运动)。当落到网
格底部或被已落下的形状挡住时,停止下落,堆积在一起,新的形状又自动从顶部落下。如果已堆积的
方块中有占据一行的,则消去,并给予加分,如果一次消去多行,最多为四行,可以得到更多的分数。
若方块达到网格顶部,则游戏结束。几分为本轮最终得分。
除主窗体外还有一个设置窗体及一个历史记录窗体。可以在主窗体中单击“选项”菜单,在下拉菜单中选
择“设置”。调用form2 ,对于游戏进行基本设置,如:图形变换方向,按键方案,是否显示显示下一方块
类型。
“历史记录”按键的click事件会调用form3 ,显示游戏得分的历史记录。
游戏过程中,可使用“暂停”键将游戏暂停,若要退出游戏,单击“结束”按钮,将会调用消息框函数,询
问是否记录成绩。若选择否,则卸载form1 ;若选择否,则调用输入框按钮让用户输入姓名,并且判定是
否输入的为空字符串。若是,则调用消息框函数,请输入正确的姓名;若不是,则将成绩记录至可执行
文件所在文件夹中的“rank”文本文件中。
根据定时器的interval属性,将速度进行改变。得分每增加2000分,程序自动将方块下落速度提高一档。
即分数越高,速度越快。根据判断blngrid数组中是否有一行全部为TRUE的情况,如果有,就加分。
该程序的考查点有:绘图、定时器控件的运用、键盘事件处理以及顺序访问文件的方法
绘图事件的主要代码:
1、若选择显示下一方块的类型,则在picnext图片框中进行绘图
For j = 1 To 4
For i = 1 To 4
picnext.Line (j - 1, i - 1)-(j - 0.2, i - 0.2), vbBlack, B
If grid(mm, nn).blngrid(i, j) = True Then
picnext.Line (j - 0.9, i - 0.9)-(j - 0.3, i - 0.3), lngcolor, BF
End If
If grid(mm, nn).blngrid(i, j) = False Then
picnext.Line (j - 0.9, i - 0.9)-(j - 0.3, i - 0.3), vbWhite, BF
End If
Next
Next
2、绘制游戏主要部分:picnow图片框的方格
For i = 1 To 10
For j = 1 To 20
Picnow.Line (i - 1, j - 1)-(i - 0.2, j - 0.2), vbBlack, B
If kblngrid(i, j) = True Then
Picnow.Line (i - 0.9, j - 0.9)-(i - 0.3, j - 0.3), lngcolor, BF
Else: Picnow.Line (i - 0.9, j - 0.9)-(i - 0.3, j - 0.3), vbWhite, BF
End If
Next
Next
总的来说在绘制两个图片框的方格均使用line方法进行绘制
键盘事件处理方法
Private Sub form_keydown(keycode As Integer, shift As Integer)
If keycode = 39 Then
submain
judgeb = intright + 1
For i = 1 To 4
For j = 1 To 4
If grid(mtype, ntype).blngrid(j, i) = True And j + intdown - down 0 And j + intdown - down 21 Then
judgeblngrid(i + 3 + judgeb, j + intdown - down) = True
End If
Next
Next
For i = 1 To 10
For j = 1 To 20
If blngrid(i, j) = True And judgeblngrid(i, j) =
文档评论(0)