This commit is contained in:
Torbjørn Lunde Jensen
2020-02-20 13:36:00 +01:00
14 changed files with 336 additions and 63 deletions

View File

@ -0,0 +1,43 @@
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 int playerId; //might not be needed
private boolean inPowerDown = false;
private int lastFlagVisited = 0;
private Position backupPosition;
private Position currentPosition;
public Robot (int playerId, Position spawnPosition){
this.playerId=playerId;
this.backupPosition = spawnPosition;
this.currentPosition = spawnPosition;
}
public int getDamage(){
return robotDamageTaken;
}
public void setDamage (int damage){
this.robotDamageTaken = damage;
}
public Position getPosition(){
return currentPosition;
}
public void setPosition( Position newPosition ){
this.currentPosition = newPosition;
}
public void setPowerDown(Boolean powerDownStatus){
this.inPowerDown = powerDownStatus;
}
public Boolean isInPowerDown(){
return inPowerDown;
}
}

View File

@ -3,38 +3,38 @@ package inf112.fiasko.roborally.objects;
import inf112.fiasko.roborally.element_properties.Direction;
import inf112.fiasko.roborally.element_properties.TileType;
/**
* This class represents a simple tile
*/
public class Tile {
/**
* tileType stores the type of the specific tile.
*/
private TileType tileType;
/**
* direction stores the direction of the specific tile.
*/
private Direction direction;
/**
*
* @param tileType sets the type of the tile.
* @param direction sets the direction the tile is facing.
* Instantiates a new tile
* @param tileType The type of the tile
* @param direction The direction of the tile
*/
public Tile(TileType tileType, Direction direction) {
if (direction.getDirectionID() % 2 == 0) {
throw new IllegalArgumentException("Invalid direction for tile submitted");
}
this.tileType = tileType;
this.direction = direction;
}
/**
*
* @return the type of the specific tile.
* Gets the tile type of the tile
* @return The tile's tile type
*/
public TileType getTileType() {
return tileType;
}
/**
*
* @return the direction of the specific tile.
* Gets the direction of the tile
* @return The tile's direction
*/
public Direction getDirection() {
return direction;

View File

@ -0,0 +1,39 @@
package inf112.fiasko.roborally.objects;
import inf112.fiasko.roborally.element_properties.Direction;
import inf112.fiasko.roborally.element_properties.WallType;
/**
* This class represents a wall
*/
public class Wall {
private WallType wallType;
private Direction direction;
/**
* Initializes a wall
* @param wallType The type of the wall
* @param direction The direction of the wall
*/
public Wall (WallType wallType, Direction direction) {
this.wallType = wallType;
this.direction = direction;
}
/**
* Gets the type of the wall
* @return The wall type
*/
public WallType getWallType() {
return wallType;
}
/**
* Gets the direction of the wall
* @return The direction of the wall
*/
public Direction getDirection(){
return direction;
}
}