- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VBNET应用开发—俄罗斯方块vb报告
课程名称:VB.NET应用开发 题目:俄罗斯方块v1.0版 我的团队:罗旋,王萌,杨笑,杨其一 姓名:杨其一 学号:1013111110 系统设计说明
1.1设计思想:
从游戏的基本玩法出发,主要就是俄罗斯方块的形状和旋转,我们在设计中在一个图片框中构造了一个4*4的网状小块,由这些小块组合成新的形状,每四个小块连接在一起就可以构造出一种造型,因此我们总共设计了7中造型,每种造型又可以通过旋转而变化出2到4种形状,利用随机函数在一个预览窗体中提前展示形状供用户参考,然后将展示的形状复制到游戏窗体中进行摆放,在游戏窗体中用户就可以使用键盘的方向键来控制方块的运动,然后利用递归语句对每一行进行判断,如果有某行的方块是满的,则消除这行的方块,并且使上面的方块自由下落,其中,方块向下的速度是有timer控件控制的。
1.1.1设计方块:
利用画布,在一个4*4的区域里判断每一格的bool值,1表示为染色,0表示为不染色,即可实现方块的制作。
1.1.2确定游戏的规格:
每个小方块的大小是25*25,游戏区为300*400,即游戏区能容纳的小方块个数为12*16,预览区为125*125即可保证能容下每种形态的方块。游戏中均以小方块的规格为最小单位,游戏区和预览区同样通过画布的方法实现方块的摆放,即判断每个小格的bool值,1为染色,0为不染色。
1.1.3具体实现游戏需要的函数:
随机生成方块
定时下移
对键盘的上下左右操作
判断方块是否到达底端
判断方块是否铺满一行
铺满一行的方块消去,
方块消去之后上面方块的下移,
判断方块是否到达左右边界,
判断方块是否到达顶端(即游戏是否结束)。
1.1.4游戏中可以让用户设置的项目:
游戏设置中第一项是音乐开关,控制背景音乐的有无;第二项是难度设置,分别简单、普通、和困难,如果背景音乐是打开的,三种模式下的音乐会越来越激进,简单模式中方块每0.9秒下落一次,普通模式中方块每0.6秒下落一次,困难模式中方块每0.3秒下落一次;第三项是选择是否需要下一个方块的提示,若选择否,则游戏中的预览区会被覆盖,即看不到下一个方块。
主要实现的功能
我们开发的俄罗斯方块游戏,主要实现了以下几种功能:
在游戏部分,利用代码可以实现以下功能:
(1)在预览区随机生成7种方块中的一种形态,进而在主游戏区显示此方块的形态。
(2)可以灵活控制方块在图形框中运动。
(3)游戏过程中方块可以由键盘控制旋转。
(4)当某一行的方块排列满时,将自动将这一行方块消除,然后将上面所有方块向下移动,可以支持连续消行。以方块是否到达顶端来判断游戏是否结束。
(5)游戏前可以选择游戏的速度和预览区的有无。
游戏区流程图
我的工作
(1) 我在团队中承担的工作:制作界面和编写部分函数.
(2)我负责的代码:
旋转、左移、右移、下移的函数
Function getRollNextBlock(ByVal blk As Block) As Block
Dim newOrder = IIf((blk.Order + 1) Mod 4 = 0, blk.Order - 3, blk.Order + 1)
Return GetBlock(newOrder, blk.Position)
End Function
Function getLeftBlock(ByVal blk As Block)
Return GetBlock(blk.Order, New Point(blk.Position.X - 1, blk.Position.Y))
End Function
Function getRightBlock(ByVal blk As Block)
Return GetBlock(blk.Order, New Point(blk.Position.X + 1, blk.Position.Y))
End Function
Function getDownBlock(ByVal blk As Block)
Return GetBlock(blk.Order, New Point(blk.Position.X, blk.Position.Y + 1))
End Function
Function CreateBlock() As Block 随机生成方块
Randomize()
Dim RndOrder As Integ
您可能关注的文档
- The linguistic feature of English news英语新闻的语言学特点.ppt
- THE MENTOR’S GUIDE.docx
- The memory of Childhood英语演讲.ppt
- The Old Town of Lijiang丽江古城.ppt
- The regional anatomy of the upper limb - 浙江大学.ppt
- The_Best_of_Manhattan’s_Art_Galleries.ppt
- The_marrage_theory_of_pride_and_prejudice_文献综述.doc
- TOEFL写作范文.docx
- TMA、DMA.ppt
- topoftheworld歌词与直接引语变间接引语讲解.ppt
- 2024版2024年《快乐的一家子》的教案与反思.doc
- 2024版2024年《快乐宝贝》大班健康教案.doc
- 2024版2024年《六一儿童节》【完美版课件】.doc
- 2024版2024年《口语交际听故事,讲故事》课件.doc
- 2024版2024年《昆虫》幼儿园教案通用.doc
- 重庆市第四十九中学2024-2025学年高三上学期第一学月考试物理试题 Word版含解析.docx
- 四川省内江市第一中学2023-2024学年高三上学期10月月考物理试题 Word版含解析.docx
- 重庆市铜梁一中2024-2025学年高三上学期10月月考地理试题 Word版含解析.docx
- 湖北省荆州市沙市中学2024-2025学年高三上学期10月月考英语试题 含答案.docx
- 四川省成都市外国语学校2024-2025学年高三上学期10月月考语文试题 含解析.docx
文档评论(0)