首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在java游戏中创建调试编码系统?

如何在java游戏中创建调试编码系统?
EN

Stack Overflow用户
提问于 2013-10-15 23:14:07
回答 2查看 101关注 0票数 0

我有一个java游戏,我已经做了一段时间了,现在我想改进我的调试系统。

此时,您按下Tilde键,然后键入一系列命令:疗愈、Ammo等。稍后,我为僵尸敌人添加了一个产卵命令。命令如下所示。~spawn.botbie.100(X).100(y-coord)。下面的代码运行,它将命令拆分为用于产卵的参数。

代码语言:javascript
复制
        public void cheat(String code) {
    String[] tokens = code.substring(1).toLowerCase().split("\\.");
    switch (tokens[0]) {
    case "spawn":
        switch (tokens[1]) {
        case "zombie":
            game.cubes.add(new EnemyZombie(game, Integer
                    .parseInt(tokens[2]), Integer.parseInt(tokens[2])));
            break;
        case "health":
            game.cubes.add(new PowerUpHealth(game, Integer
                    .parseInt(tokens[2]), Integer.parseInt(tokens[2])));
            break;
        }
        break;
    default:
        break;
    }

    game.start();
}

我如何实现类似于Java的语法?我希望能够键入zombie.spawn().setX(100).setY(100).setHealth(1)并传递这些参数。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-15 23:31:23

您只需在运行时使用反射调用一个方法。看起来是这样的:

代码语言:javascript
复制
this.getClass().getDeclaredMethod("myMethod").invoke(this);

当然,您也可以用参数调用方法。但是,您需要为此编写一些解析器,还需要确保您正在按正确的顺序调用方法。要实现系统,它将能够继续执行上面所写的命令,大约需要30分钟。

票数 0
EN

Stack Overflow用户

发布于 2013-10-15 23:16:59

根据您的描述,这可能需要大量代码才能实现。

但是,如果您正在寻找一种方法将方法链接到一起,那么您可能需要查看构建器模式。查看这篇文章:

When would you use the Builder Pattern?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19392666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档