wxpython入门第十一步(俄罗斯方块)

wxpython入门第十一步(俄罗斯方块)[Python基础]

俄罗斯方块是由俄罗斯程序员 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):
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » wxpython入门第十一步(俄罗斯方块)