gpt4 book ai didi

language-agnostic - 可以将游戏逻辑放在绘图函数中吗?

转载 作者:行者123 更新时间:2023-12-04 22:52:41 24 4
gpt4 key购买 nike

我正在制作一个游戏,我终于完成了它的游戏玩法,但现在是我创建菜单和高分屏幕的时候了。我不完全确定该怎么做,游戏将处于不同的状态(MENU_STATE,GAMEPLAY_STATE,SCORESCREEN_STATE),并且在每种状态下我都想在屏幕上绘制不同的东西,我可以做这样的事情吗然后?

draw function()
{
if MENU_STATE
draw menu
if GAMEPLAY_STATE
draw game
if SCORESCREEN_STATE
draw scores
}

我在绘制函数中一直遵循严格的逻辑,到目前为止它一直很好,但我真的想不出另一种方法来做到这一点。

最佳答案

您可以为这三种状态使用单独的类,实现一个通用接口(interface),而不是为状态设置一个常量,而是设置一个类的实例:

interface IState {
void draw();
}

class Menu implements IState {
void draw() {
// Draw menu
}
}

class Game implements IState {
void draw() {
// Draw game
}
}

void draw() {
state.draw();
}

这仍然不理想(你并不真的想要在你的状态下绘制代码,你想要一些更独立的东西),但抽象是一个常见的并且可能是相关的(如果不了解更多信息,很难进一步建议你的架构)。

关于language-agnostic - 可以将游戏逻辑放在绘图函数中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253545/

24 4 0