我正在设计(并最终编写)Django中的一个系统,该系统由两个主要组件组成:
然而,有一件我不确定放在哪里,那就是与每场比赛相关的“规则”。基本上,对于放入第一个应用程序的每个游戏,都有一组特定于该游戏的先决条件,限制和其他业务逻辑。 (所有游戏都有类似结构的逻辑。)逻辑将用Python编码,而不是用户输入。
该逻辑在验证特定字符的过程中 ,但与特定游戏关联,需要动态换出。它是一个单独的应用程序,还是应该验证与角色管理器的形式相关联?或者可以两者兼而有之?
这是我从头开始构建的第一个Django应用程序(而不是咀嚼别人的代码),而且我是Python新手的新手,所以我全神贯注于此。
提前致谢。
答案 0 :(得分:1)
我会在应用程序中使用游戏逻辑创建名为规则的子目录,并在每个游戏中创建以您希望提供的模块。然后为这些模块创建一个通用界面,将由您的游戏使用并按名称导入适当的规则模块(如果您的游戏称为adom,那么只需在主游戏引擎内__import__('rules.adom')
并调用游戏特定方法。 / p>
如果您的游戏没有创建自己的模型和视图,那么似乎没有理由为每个游戏创建特定的应用程序。这是一个微妙的问题,因为使用的代码基于存储在数据库中的数据。您是否考虑过将其他游戏脚本存储在数据库中,然后exec
将它们存储起来?这似乎更自然:游戏是一组数据和与该游戏相关的其他脚本。
答案 1 :(得分:1)
与每个游戏相关的“规则”。
对于放入第一个应用程序的每个游戏,都有一组先决条件,限制以及特定于该游戏的其他业务逻辑。
那是游戏应用程序的一部分。
所有游戏都有类似结构的逻辑。
那是游戏应用程序的一部分。
该逻辑用于验证特定角色的过程,但与特定游戏相关联。
正确。那么这就是游戏应用程序的一部分。角色与一个或多个游戏相关联。
它是否应该与角色管理器的形式相关联?
角色表单可以具有依赖于游戏的数据清理规则。