package exe; import baseRobot.*; /** * 敵クラス * * @author Fumi Iseki * @version 1.0 */ public class Enemy { private ExtRobot myRobo; private boolean alive; private String name; private double angle; private double dist; private double energy; protected TimeData timeData; private int bufferSize; private int validDataNum = 0; /** * コンストラクタ */ public Enemy(ExtRobot robo, int sz) { myRobo = robo; bufferSize = sz; name = new String(""); alive = false; timeData = new TimeData(myRobo, sz); } /** * 時系列データ収集するとき最初に呼ぶ.名前の設定を行う. */ public void putDataFirst() { name = new String(myRobo.getEnemyName()); putData(); } /** * 時系列データの収集 */ public void putData() { alive = true; angle = myRobo.getEnemyAngle(); dist = myRobo.getEnemyDistance(); energy = myRobo.getEnemyEnergy(); timeData.putData(); validDataNum++; } /** * ロボットの名前をチェックする */ public boolean equals(String str) { return name.equals(str); } /** * ロボットを一時的に仮死状態にする */ public void setLost() { alive = false; } public boolean isAlive() { return alive; } public boolean isCircle(int t) { return timeData.isCircle(t); } public boolean isConstAccele(int t) { return timeData.isConstAccele(t); } public Vector linearMover(int t) { return timeData.linearMover(t); } public Vector acceleMover(int t) { return timeData.acceleMover(t); } public Vector circleMover(int t) { return timeData.circleMover(t); } public double getAngle() { return angle; } public double getDistance() { return dist; } public double getEnergy() { return energy; } public String getName() { return new String(name); } }