- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
为了帮助我学习 Java 和编程概念,我正在编写一个机器人来解决游戏中的谜题 PuzzleFreak .
我已将游戏的 Controller 设为单例,因为应该只有一个。但是,现在我到处都有 Controller.getInstance()
。我怎样才能使这个不那么冗长?单例甚至可以去这里吗?
我可以将 Controller 方法包装在默认方法中,这样我就可以在 Player
实现中调用 click(x,y)
,但这感觉不对。
下面是播放器界面和示例实现。
播放器.java:
public interface Player {
default void giveUp() {
Controller.getInstance().click(new Rectangle(704, 545, 64, 18));
Controller.getInstance().delay(0.1);
Controller.getInstance().click(new Rectangle(704, 545, 64, 18));
}
default void play() {
giveUp();
}
}
启动播放器.java:
public class StartupPlayer implements Player {
public void play(){
Controller.getInstance().click(60, 278);
Controller.getInstance().delay(0.5);
Controller.getInstance().type("KevinBot");
Controller.getInstance().delay(0.5);
Controller.getInstance().click(400, 463);
}
}
最佳答案
只需声明一个本地 Controller 并调用一次getInstance()
:
例如:
public class StartupPlayer implements Player {
public void play(){
Controller controller = Controller.getInstance()
controller.click(60, 278);
controller.delay(0.5);
controller.type("KevinBot");
controller.delay(0.5);
controller.click(400, 463);
}
}
关于Java:使单例不那么冗长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27554432/
我有一些记录到标准输出的测试,我想根据 nose 运行的冗长程度更改我的测试脚本中的日志级别。 如何从正在运行的测试之一中访问 running nose 实例的详细信息? 最佳答案 这有点 hack,
我们正在尝试序列化一个对象树。虽然我们已经成功了。我希望找到一种方法来简化生成的 xml。 对象看起来像下面这样: public class RuleSet { public IEnumera
查看 git-config 变量和 git-pull 文档,我没有看到默认情况下使 git-pull pull 冗长的方法。有人知道方法吗? 最佳答案 并不是所有的配置参数都适用!但是您可以使用别名自
我有一个小型或中等规模的 F# 项目,15 个 *.fs 文件,大约 2000 行代码。编译突然有点慢,大约5秒。我想找出导致编译速度变慢的原因,但找不到像“详细”这样的 fsc 开关,导致它显示进度
许多 scikit-learn 函数都有一个 verbose 参数,根据他们的文档,“[c]控制详细程度:越高,消息越多”(例如,GridSearchCV)。 很遗憾,没有提供关于允许使用哪些整数(例
我正在尝试以旧方式运行 Rails 测试,即以点作为输出,但我认为我遗漏了一些东西。我找不到在哪里关闭冗长模式,每次我运行 rake 任务时,我都会得到一个测试描述列表,这些描述起初看起来不错,但最终
我是一名优秀的程序员,十分优秀!