mirror of
https://github.com/inf112-v20/Fiasko.git
synced 2025-02-09 03:29:35 +01:00
110 lines
2.9 KiB
Java
110 lines
2.9 KiB
Java
package inf112.fiasko.roborally.objects;
|
|
|
|
import inf112.fiasko.roborally.element_properties.Position;
|
|
|
|
/**
|
|
* this class represents a robot
|
|
*/
|
|
public class Robot {
|
|
private int robotDamageTaken = 0;
|
|
private final int playerId;
|
|
private boolean inPowerDown = false;
|
|
private int lastFlagVisited = 0;
|
|
private Position backupPosition;
|
|
private Position currentPosition;
|
|
|
|
/**
|
|
* Instantiates a new robot
|
|
* @param playerId gives the robot a identifier that links it too the correct player
|
|
* @param spawnPosition gives the robot its starting position on the map
|
|
*/
|
|
public Robot (int playerId, Position spawnPosition){
|
|
this.playerId=playerId;
|
|
this.backupPosition = spawnPosition;
|
|
this.currentPosition = spawnPosition;
|
|
}
|
|
|
|
/**
|
|
* Gets the damage the robot has taken
|
|
* @return the amount of damage the robot has received
|
|
*/
|
|
public int getDamage(){
|
|
return robotDamageTaken;
|
|
}
|
|
|
|
/**
|
|
* Set the robot's damage too a given amount
|
|
* @param damage the amount of damage the robot has received
|
|
*/
|
|
public void setDamage (int damage){
|
|
this.robotDamageTaken = damage;
|
|
}
|
|
|
|
/**
|
|
* Gets the robot's current position on the map
|
|
* @return the robot's current position
|
|
*/
|
|
public Position getPosition(){
|
|
return currentPosition;
|
|
}
|
|
|
|
/**
|
|
* places the robot on a new position
|
|
* @param newPosition the new position for the robot
|
|
*/
|
|
public void setPosition( Position newPosition ){
|
|
this.currentPosition = newPosition;
|
|
}
|
|
|
|
/**
|
|
* Places the status of the powerdown field
|
|
* @param powerDownStatus True if robot is going to go to powerdown. False otherwise
|
|
*/
|
|
public void setPowerDown(Boolean powerDownStatus){
|
|
this.inPowerDown = powerDownStatus;
|
|
}
|
|
|
|
/**
|
|
* Gets the status of the robot's powerdown field
|
|
* @return robot's powerdown status
|
|
*/
|
|
public Boolean isInPowerDown(){
|
|
return inPowerDown;
|
|
}
|
|
|
|
/**
|
|
* Set the robot's last visited flag too the new flag and places its backup on the flags position
|
|
* @param currentFlag the flag the robot is standing on
|
|
* @param newBackupPosition the position of the flag
|
|
*/
|
|
public void setLastFlagVisitedAndBackupPosition(int currentFlag, Position newBackupPosition){
|
|
this.lastFlagVisited=currentFlag;
|
|
this.backupPosition=newBackupPosition;
|
|
}
|
|
|
|
/**
|
|
* Gets the correct flag the robot visited
|
|
* @return last visited flag
|
|
*/
|
|
public int getLastFlagVisited(){
|
|
return lastFlagVisited;
|
|
}
|
|
|
|
/**
|
|
* Gets the robots backup position
|
|
* @return robots backup position
|
|
*/
|
|
public Position getBackupPosition(){
|
|
return backupPosition;
|
|
}
|
|
|
|
/**
|
|
* Gets the identifier of the players controlling the robot
|
|
* @return player identifier
|
|
*/
|
|
public int getPlayerId(){
|
|
return playerId;
|
|
}
|
|
|
|
}
|