嘿——我正在尝试使用Python的Pygame库设计我的第一个游戏,想知道一般情况下关卡设计的最佳实践是什么。我很想听听你们认为管理关卡的良好面向对象设计模式是什么。另外,我对Python还比较新手,谢谢!
嘿——我正在尝试使用Python的Pygame库设计我的第一个游戏,想知道一般情况下关卡设计的最佳实践是什么。我很想听听你们认为管理关卡的良好面向对象设计模式是什么。另外,我对Python还比较新手,谢谢!
Map
类:
pygame.Surface
(你将要blit到显示屏上的内容)Tile
Map
Block
Map
对象列表,每个关卡一个。如果这是您第一次使用Pygame应用程序,不要花费时间担心“管理级别的面向对象设计模式”。现在您需要做的是弄清楚如何让Pygame按照您的意愿工作。
管理级别的面向对象模式会在以后,很久以后才会涉及。
一般来说,实现这个功能的简单方法是使用矩阵(或多维数组-它们在这里的工作方式相同)。
基本上,每个地图都是一个数组,数组中的每个项都是网格上的一个方块。例如,3x3网格如下:
(伪代码)
var Map = [[1,2,3][1,2,3][1,2,3]];
您可以将字符串放入数字的位置,以便函数解析并根据单元格的值绘制或执行操作。