1.11 添加最终修饰
玩过几分钟的初版.Nettrix游戏后,每一个玩家都将会想到以下两个重要的游戏功能,这两个功能几乎出现在Tetris类型的每一个游戏中,即:第一,如何显示下一个即将出现的方块;第二,由于某些紧急情况(比如当您的老板突然穿过办公室并径直向您走来的时候)而使“游戏暂停”。
现在我们已经完成了所有基本类的编码工作,实现上述两点是一件非常容易的事情。接下来的章节将讨论这些问题以及其他一些改善初版.Nettrix游戏的方式。
1.11.1 关于如何显示下一个方块的编码设计
为了显示下一个即将出现的方块,可以在窗体上创建一个新的pictureBox控件来保存下一个方块的图像,然后修改Start按钮的单击事件和timer_tick事件。可以使用Block构造函数所创建的可选参数、并基于下一个即将出现的方块的类型来产生新的方块。
为了实现这一点,可以创建一个变量来保存游戏窗体区即将出现的下一个方块。
private Block NextBlock;
我们将在CmdStartclick事件的末尾添加两行代码来创建下一个方块。
NextBlock = new Block(new Point(20, 10), Block.BlockTypes.Undefined);
NextBlock.Show(PicNextBlock.Handle);
最后修改定时器控件的Tick事件,使得系统在当前方块停止下落时就创建一个新的方块,并把CurrentBlock类型值强制赋给NextBlock类型值。
'Replace The Current Block...
CurrentBlock = New Block(New Point(GameField.SquareSize * 6, 0), _
NextBlock.BlockType)
CurrentBlock.Show(PicBackground.Handle)
'Create The Next Block
NextBlock.Hide(PicNextBlock.Handle)
NextBlock = New Block(New Point(20, 10), Block.BlockTypes.Undefined)
NextBlock.Show(PicNextBlock.Handle)
现在运行一下游戏程序,将会看到“下一个出现”的方块显示在刚刚创建的图片框里,如图1-33所示。

图1-33 显示下一个出现的方块
接下来的章节介绍另外一个改进措施,即游戏暂停方式的设计。
[1] [2] [3] 下一页 |