mpo*_*z08 3 python oop design-patterns pygame
嘿 - 我正在尝试使用Python的Pygame库设计我的第一个游戏,我想知道一般的关卡设计的最佳实践是什么.我很想听听你们认为用于管理关卡的好的面向对象设计模式.另外,我对Python很新 - 谢谢!
对于这种类型的游戏,你的地图是以瓷砖为单位的(我假设你的级别是指个人级别,而不是管理所有级别).每个瓷砖都有
当我在Pygame中创建基于图块的游戏时,我通常会有一个Map包含当前地图的类:
pygame.Surface地图的(什么,你会被块传输到显示器)地图应该是相对静态的 - 你可以让它们在你踩到它们之后成为普通的图块(这很容易 - 当你做碰撞检测并且它是一个命中时,只需将该图块更改为另一个图块对象(可能是一个用于一个空的瓷砖)),但如果你可以帮助它,你不想要地图中的字符或可移动的块.由于可移动块有关于它们如何移动的规则,因此它不像更换瓷砖那么简单 - 您需要一整套逻辑,并且至少需要更改两个瓷砖(如果您有可以把块移到陷阱上 - 你必须分别记住它下面的东西 - bleh).在我看来,为每个移动的对象和项目创建一个类更容易.
简而言之,您有:
TileMapBlock这基本上就是你的整体水平.对于多个级别,如果各个级别始终相同,则可以只有一个Map对象列表,每个级别一个.
如果这是你的第一个Pygame应用程序,不要花时间担心"面向对象的设计模式来管理级别".你现在需要做的是弄清楚如何让Pygame做你想做的事.
用于管理级别的面向对象模式将在稍后发布.