Java 游戏的随机动作 AI 控制器
Random Action AI controller for Java game
我正在尝试为我的敌舰实现一个基本的游戏 AI,它执行随机动作(即转弯和射击,然后向前移动,然后可能转身射击等)。我做了一个简单的旋转和射击的基本 AI。
这是 RotateAndShoot AI:
public class RotateAndShoot implements Controller {
Action action = new Action();
@Override
public Action action() {
action.shoot = true;
action.thrust = 1; //1=on 0=off
action.turn = -1; //-1 = left 0 = no turn 1 = right
return action;
}
}
这里是控制器class如果这有助于解释:
public interface Controller {
public Action action();
}
这些使用了一个名为 Action 的 class,它只提供一些分配给动作的变量(例如 public int thrust,如果打开状态,它会使船向前移动)。我怎样才能实现一种只做一堆随机动作的 AI 形式?
您可以使用 Math.random() 或随机。
这是随机的解决方案:
@Override
public Action action() {
Random rand = new Random();
action.shoot = rand.nextBoolean();
action.thrust = rand.nextInt(2);
action.turn = rand.nextInt(3) - 1;
return action;
}
我正在尝试为我的敌舰实现一个基本的游戏 AI,它执行随机动作(即转弯和射击,然后向前移动,然后可能转身射击等)。我做了一个简单的旋转和射击的基本 AI。
这是 RotateAndShoot AI:
public class RotateAndShoot implements Controller {
Action action = new Action();
@Override
public Action action() {
action.shoot = true;
action.thrust = 1; //1=on 0=off
action.turn = -1; //-1 = left 0 = no turn 1 = right
return action;
}
}
这里是控制器class如果这有助于解释:
public interface Controller {
public Action action();
}
这些使用了一个名为 Action 的 class,它只提供一些分配给动作的变量(例如 public int thrust,如果打开状态,它会使船向前移动)。我怎样才能实现一种只做一堆随机动作的 AI 形式?
您可以使用 Math.random() 或随机。
这是随机的解决方案:
@Override
public Action action() {
Random rand = new Random();
action.shoot = rand.nextBoolean();
action.thrust = rand.nextInt(2);
action.turn = rand.nextInt(3) - 1;
return action;
}