2

我遇到了一个问题,我觉得它的答案非常简单,但在简短的谷歌搜索中很难解释,而且我找不到关于这个主题的任何内容。

因此,在我最近开发的一款游戏中,我为游戏中的每个方块/图块设置了多种类型的对象:

    class Char(object):
        ...
        def update(self):
            ...
        def move(self, direction):
            ...

或者

    class Dirt(object):
        ...

显然,在主程序中定义所有这些类可能会非常混乱,例如,如果我想在游戏中创建一个名为“屏幕”(计算机屏幕)的对象,这会与我的冲突实际游戏窗口的屏幕类。此外,创建名为 gameObjects 的第二个模块还会导致我的所有游戏对象都无法访问 main.js 中定义的变量的问题。

那么,我该如何组织或分组我的课程呢?我是入门 Python 的初学者,因此不胜感激,谢谢。

4

1 回答 1

3

您通常不希望拥有与您的类同名的对象。如果它们没有在同一范围内定义,则实际上没有冲突,但仍然令人困惑。

但是,如果您遵循典型的 Python 命名约定,这不会成为问题:您的类以大写字母开头,而您的变量以小写字母开头。因此,您的变量被称为screen,并且您有一个名为 的类并不重要Screen

同时,您可能确实希望将相关的类放在一个模块中。在您的gameObjects模块中定义的类的对象将无法访问 main 中定义的变量,但您不希望它们访问。全局变量几乎总是一个坏主意。如果一个对象需要访问一个变量,将该变量传递给它的构造函数。

在创建自己的大型项目之前,您可能应该查看其他一些大型项目以了解它们是如何组织事物的。

于 2012-10-26T00:04:56.607 回答