我正在学习构建简单行为Ai的教程.它的"大脑"类是抽象的,包含"跑步","成功","失败"等状态.现在在我的ai单元 - 机器人类我有一个方法来启动机器人的大脑.
public void update(){
if(Routine.getState()==null){
Routine.start();
}
Routine.act(this, board);
}
Run Code Online (Sandbox Code Playgroud)
现在这在java中是不可能的,因为它是对非静态方法的静态引用.我试图在这里引用的例程抽象类是这样的:
public abstract class Routine {
public enum RoutineState{
Success,
Failure,
Running
}
protected RoutineState state;
protected Routine() { }
public void start(){
this.state = RoutineState.Running;
}
public abstract void reset();
public abstract void act(droid droid, board board);
public void succed(){
this.state = RoutineState.Success;
}
public void Fail(){
this.state = RoutineState.Failure;
}
public boolean isSuccess(){
return state.equals(RoutineState.Success);
}
public boolean isFailure(){
return state.equals(RoutineState.Failure);
}
public boolean isRunning(){
return …Run Code Online (Sandbox Code Playgroud) 一个简单的Quote生成器是有问题的,我已经构思了代码,并假设如果我将我的字符串保存在xml中它将起作用
<resources>
<string name="app_name">"Lift Quote"</string>
<string name="action_settings">Settings</string>
<!-- put buttons in here -->
<!-- here are the quotes -->
<!-- inspiring -->
<string name="s1">"He who has a why to live can bear almost any how." -Nietzche</string>
<string name="s2">"Life is about making an impact, not making an income." –Kevin Kruse</string>
<string name="s3">You miss 100% of the shots you don’t take. –Wayne Gretzky</string>
<!-- deep -->
<string name="s4">" A man's character is his fate. " -Heraclitus</string>
<string name="s5">"Why do you stay in …Run Code Online (Sandbox Code Playgroud)