#include "type.h" evader::evader(){} void evader::initialize(){ for(int i=0;i<10;i++){ pastx[i]=x; pasty[i]=y; } predictedx = x; predictedy = y; } void evader::predict(){ double tempx = D.head->x-x; double tempy = D.head->y-y; if((tempx*tempx+tempy*tempy)< CLOSE_KILL){ predictedx = x; predictedy = y; } else{ tempx = D.head->x-predictedx; tempy = D.head->y-predictedy; if((tempx*tempx+tempy*tempy)< CLOSE_KILL){ predictedx = x; predictedy = y; } else{ tempx = pastx[0]-pastx[9]; tempy = pasty[0]-pasty[9]; if((tempx*tempx+tempy*tempy) > PRED_STEP){ predictedx = x+tempx; predictedy = y+tempy; } } } } void evader::setx(double a){ for(int i=8;i>=0;i--){ pastx[i+1]=pastx[i]; } pastx[0]=a; x = a; } void evader::sety(double a){ for(int i=8;i>=0;i--){ pasty[i+1]=pasty[i]; } pasty[0] = a; y = a; } double evader::getx(){ return x; } double evader::gety(){ return y; } void evader::setpt(double a, double b){ for(int i=8;i>=0;i--){ pastx[i+1]=pastx[i]; pasty[i+1]=pasty[i]; } pastx[0] = a; pasty[0] = b; x = a; y = b; }