wxpython入门第十一步(俄罗斯方块)
俄罗斯方块是由俄罗斯程序员 Alexey Pajitnov 在1985年设计和编程的。
在这个游戏中,我们有七种不同的形状:S形,Z形,T形,L形,线形,镜面L形,和一个方形。每一个形状都是由四个小正方形组成的。这些形状都是从棋盘上掉下来的。俄罗斯方块游戏的目的是移动和旋转这些形状,使它们尽可能地适合。如果我们成功地形成一排,这一排就会被销毁,我们就会得分。我们玩俄罗斯方块游戏,直到我们达到顶点。
<img src=”https://mymarkdowm.oss-cn-beijing.aliyuncs.com/markdownimg/tetrominoes.png” alt=”Tetrominoes” style=”zoom:50%;” />
wxPython 是一个用于创建应用程序的工具包。还有一些其他的库比如pygame是针对创建电脑游戏的,但wxPython也可以用来创建游戏。
开发过程
我们的俄罗斯方块游戏没有图像,我们使用wxPython中提供的绘图API绘制俄罗斯方块。每一个电脑游戏的背后,都有一个数学模型。俄罗斯方块中也是如此。
游戏背后的一些基础想法。
- 用wx.Timer来创建一个游戏循环。
- 画出不同形状
- 形状以方块为单位移动(而不是以像素为单位)。
- 在数学上,棋盘是一个简单的数字列表。
#tetris_game.py import wx import random class Tetris(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self, parent, size=(180, 380), style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER ^ wx.MAXIMIZE_BOX) self.initFrame() def initFrame(self):