VBNET应用开发—俄罗斯方块vb报告.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档