vbnet龚沛曾第二版的简单介绍( 四 )


cmdfang(i + 4).Visible = True And _
cmdfang(i + 5).Visible = True And _
cmdfang(i + 6).Visible = True And _
cmdfang(i + 7).Visible = True And _
cmdfang(i + 8).Visible = True And _
cmdfang(i + 9).Visible = True Then
For j = i + 4 To i Step -1
t = 1
cmdfang(j).Visible = False
cmdfang(2 * i + 9 - j).Visible = False
For k = 1 To 4000
DoEvents
Next
t = 0
Next
linenum = linenum + 1
For j = i - 1 To 0 Step -1
If cmdfang(j).Visible = True Then
cmdfang(j).Visible = False
cmdfang(j + 10).Visible = True
End If
Next
clearline '为了实现连消数行 , 这里使用递归调用
End If
Next
3.1.5游戏速度和游戏级别自由选择
游戏速度的自由选择无非就是改变时钟控件的频率,我们在菜单中添加了选择速度的功能,还有添加了考验功能 , 将欲览窗中的方块造型隐藏,给玩家提高了难度,如果你不愿意接受考验也可以点击显示还原成原来状态 。
游戏级别的自由选择是让用户选择游戏开始时候 , 游戏区底部出现一定行数的随机方块,同样给玩家增加了难度,功能代码如下:
For i = 19 To 20 - Val(txthard.Text) Step -1
For j = i * 10 To i * 10 + 9
If Rnd = 0.5 Then cmdfang(j).Visible = True
Next
Next
可以根据你选择的难度系数在底层的每一行随机产生超过半数(即5个以上)以上的小方块,这样适合喜欢高难度的玩家 。
3.1.6游戏得分的计算和游戏菜单的编辑
游戏得分的计算主要是根据消除的行数来决定的,当然每一次同时消除的行数不一样 , 每一行的得分也不一样,如果你每次消除的行数为1,则最后得分是100分,如果同时消除2行,则最后得分是300分,同时消除3行,得分为700分,同时消除4行,得分为1500分,这由公式:得分 = 原来分数+ 100 * (2 ^ 同时消除的行数-1) 。
游戏的编辑,读者可以参照下面的功能介绍 。
3.2 游戏功能的介绍
文件-------开始:开始游戏 。
继续:继续游戏 。
暂停:暂时停止游戏,点击继续的时候可以继续游戏 。
退出:退出游戏 。
设置-------选择游戏级别 。
选择游戏速度 。
考验-------显示:显示欲览去方块 。
隐藏:隐藏欲览去方块 。
帮助-------操作提示以及版本信息和作者资料 。
用户界面具体如图:
图—登陆界面 图—游戏界面
图—菜单编辑界面 图—游戏帮助界面
有关说明
经过两个多星期的设计和开发 , 俄罗斯方块游戏已经成功 。其功能基本符合用户需求,能够完成游戏的控制 , 方块的变换以及消层等功能 。并提供游戏设置,对于一些技术性比较过硬的玩家,可以调游戏级别、以及游戏速度,使得玩家能够充分的发挥竞技游戏的特色 , 可以不断的挑战自我,挑战极限 。
4.1游戏设计中的不足之处
但是由于课程设计时间较短 , 所以该游戏还有许多不尽如人意的地方,比如方块类型太少,退出游戏不能存储进度等多方面问题 。这些都有待进一步改善,我们在游戏中还可以更换背景音乐 , 以适合不同的玩家,在每通过一关可以给玩家播放一段flash,吸引玩家去挑战极限,不断提高玩家的兴趣,相信在以后的制作过程中我们将给大家带来一个更新功能更全面的游戏 。
4.2VB与C语言之间的不同之处
我们这个小游戏也可以用C语言来实现,在程序的编程上没有VB语言方便实用,C语言和VB语言之间存在很多的共同点,虽然语法方面有点差异 , 但是在编程思路上完全一样,VB能够实现很多C#不能做到的功能,如When语句、Optional参数、局部Static变量、对象实例访问静态方法、Handles绑定事件、On Error处理异常、Object直接后期绑定等等 。VB和C#语言,编译出来的是同样的CIL,但为什么VB支持很多有趣的特性呢 。我们一起来探究一下 。

推荐阅读