package jp.ac.fit.asura.nao.strategy.tactics;
import static jp.ac.fit.asura.nao.motion.Motions.NAOJI_WALKER;
import jp.ac.fit.asura.nao.RobotContext;
import jp.ac.fit.asura.nao.localization.WorldObject;
import jp.ac.fit.asura.nao.misc.MathUtils;
import jp.ac.fit.asura.nao.motion.Motions;
import jp.ac.fit.asura.nao.strategy.StrategyContext;
import jp.ac.fit.asura.nao.strategy.Task;
import jp.ac.fit.asura.nao.strategy.permanent.BallTrackingTask;
import jp.ac.fit.asura.nao.strategy.permanent.BallTrackingTask.Mode;
import org.apache.log4j.Logger;
public class KickOff03Task extends Task {
private static final Logger log = Logger.getLogger(KickOff03Task.class);
private BallTrackingTask tracking;
private int preBalld;
private float preBallh;
private int count;
private int Goaldist;
@Override
public void continueTask(StrategyContext context) {
context.getScheduler().setTTL(700);
// 無人のサイドを駆けあがれ!
if (context.getWalkFlag() == false) {
// log.info("WalkFlag = 0");
if (count < 200) {
count++;
if (context.hasMotion(Motions.NAOJI_WALKER))
context.makemotion(NAOJI_WALKER, 0.3f, 0, 0);
else
context.makemotion(Motions.MOTION_YY_FORWARD_STEP);
// } else if (count < 160) {
// count++;
// if (context.hasMotion(Motions.NAOJI_WALKER))
// context.makemotion(NAOJI_WALKER, 0, -0.5f, 0);
// else
// context.makemotion(Motions.MOTION_W_RIGHT_SIDESTEP);
} else {
context.setWalkFlag(true);
log.info("WalkFlag = 1");
context.getScheduler().abort();
return;
}
}
}
@Override
public void enter(StrategyContext context) {
context.getScheduler().setTTL(300);
}
@Override
public void init(RobotContext context) {
tracking = (BallTrackingTask) context.getStrategy().getTaskManager()
.find("BallTracking");
count = 0;
}
@Override
public void leave(StrategyContext context) {
context.setWalkFlag(true);
}
@Override
public String getName() {
// TODO 自動生成されたメソッド・スタブ
return "KickOff03Task";
}
}