我现在在一个关于机器人对战的程序中编写AI,根据这个软件提供的API
以下一个循环:
Public class run{
while(true){
getVelocity(); //得到对方速度
getHeading();//得到对方正面的方向
......
等等。。}总之这个循环会在每个时间单位执行一次,得到对手的信息,我现在想编一段代码,用来分辨对手的信息变化,比如第一个时间单位得到getVelocity=5,第二个时间单位getVelocity=6,一旦这个值发生变化我就采取一些行动,如果这个值不变就采取另一个行动(就是分辨对手是否是在做匀速直线运动),请问这段代码如何实现?
  (就是实现第二次的值和第一次的做比较这类的功能)

解决方案 »

  1.   

    Public class run{double velo;while(true){
        if (velo == getVelocity()) {
            ...
        } else {
            velo = getVelocity();
            ...
        }    getHeading();//得到对方正面的方向}
      

  2.   

    不对啊,我是要把第二次得到的velocity和第一次的做比较,而刚开始我并不知道velocity等于多少,所以定义velo也没什么用啊...
      

  3.   

    可以把velo定义为成员变量,在你第一次感知对方时做初始化,然后在run中做比较。
      

  4.   

    Public class run{double velo,oldVelo=0;while(true){
        velo == getVelocity();
        if (velo == oldVelo) {
            ...
        } else {
            ...
        }
        oldVelo = velo;
    }
      

  5.   

    就是定义成类的成员变量,每次用getVelocity();
    得到值比较阿诚如UnAgain() ( ) 信誉:98    Blog 说的
    可以把velo定义为成员变量,在你第一次感知对方时做初始化,然后在run中做比较。