Legger til enum Action og bytter navn på abstractions pakken

Bytter pakkenavn fra abstractions til element_properties
This commit is contained in:
2020-02-19 11:15:23 +01:00
parent 81553f67d9
commit bec414e676
13 changed files with 28 additions and 14 deletions

View File

@ -0,0 +1,14 @@
package inf112.fiasko.roborally.element_properties;
/**
* This enum represents an action on a programming card
*/
public enum Action {
ROTATE_RIGHT,
ROTATE_LEFT,
U_TURN,
MOVE_1,
MOVE_2,
MOVE_3,
BACK_UP
}

View File

@ -0,0 +1,47 @@
package inf112.fiasko.roborally.element_properties;
/**
* This enum represents all possible directions for an element on the board
*/
public enum Direction {
NORTH (1),
NORTH_EAST (2),
EAST (3),
SOUTH_EAST (4),
SOUTH (5),
SOUTH_WEST (6),
WEST (7),
NORTH_WEST (8);
private final int directionID;
/**
* Constructor to let a direction to be represented by a numerical identifier
* @param directionID <p>The numerical identifier assigned to the direction</p>
*/
Direction(int directionID) {
this.directionID = directionID;
}
/**
* Gets the numerical identifier used for alternate identification of a direction
* @return <p>The numerical id of the direction</p>
*/
public int getDirectionID() {
return this.directionID;
}
/**
* Gets a direction from its numerical id
* @param directionID <p>The numerical representation of a direction</p>
* @return <p>The enum value representing the direction, or null if the id is invalid</p>
*/
public static Direction getDirectionFromID(int directionID) {
for (Direction direction : Direction.values()) {
if (direction.directionID == directionID) {
return direction;
}
}
return null;
}
}

View File

@ -0,0 +1,9 @@
package inf112.fiasko.roborally.element_properties;
/**
* This enum represents a drawable texture
*/
public enum GameTexture {
ROBOT,
TILE
}

View File

@ -0,0 +1,36 @@
package inf112.fiasko.roborally.element_properties;
/**
* This class represent a position on the board
*/
public class Position {
private int xCoordinate;
private int yCoordinate;
/**
* Initializes the position
* @param xCoordinate The x coordinate of the position
* @param yCoordinate The y coordinate of the position
*/
public Position(int xCoordinate, int yCoordinate) {
this.xCoordinate = xCoordinate;
this.yCoordinate = yCoordinate;
}
/**
* Gets the x coordinate of the position
* @return The x coordinate of the position
*/
public int getXCoordinate() {
return xCoordinate;
}
/**
* Gets the y coordinate of the position
* @return The y coordinate of the position
*/
public int getYCoordinate() {
return yCoordinate;
}
}

View File

@ -0,0 +1,62 @@
package inf112.fiasko.roborally.element_properties;
/**
* This enum represents all possible tile types
*/
public enum TileType {
TILE (1),
HOLE (2),
COGWHEEL_RIGHT (3),
COGWHEEL_LEFT (4),
TRANSPORT_BAND_SLOW (5),
TRANSPORT_BAND_SLOW_RIGHT (6),
TRANSPORT_BAND_SLOW_LEFT (7),
TRANSPORT_BAND_SLOW_SIDE_ENTRANCES (8),
TRANSPORT_BAND_SLOW_SIDE_ENTRANCE_LEFT (9),
TRANSPORT_BAND_SLOW_SIDE_ENTRANCE_RIGHT (10),
TRANSPORT_BAND_FAST (11),
TRANSPORT_BAND_FAST_RIGHT (12),
TRANSPORT_BAND_FAST_LEFT (13),
TRANSPORT_BAND_FAST_SIDE_ENTRANCES (14),
TRANSPORT_BAND_FAST_SIDE_ENTRANCE_LEFT (15),
TRANSPORT_BAND_FAST_SIDE_ENTRANCE_RIGHT (16),
FLAG_1 (17),
FLAG_2 (18),
FLAG_3 (19),
FLAG_4 (20),
WRENCH (21),
WRENCH_AND_HAMMER (22),
DEATH_TILE (23);
private final int tileTypeID;
/**
* Constructor to let a tile type be represented by a numerical identifier
* @param tileTypeID <p>The numerical identifier assigned to the tile type</p>
*/
TileType(int tileTypeID) {
this.tileTypeID = tileTypeID;
}
/**
* Gets the numerical id used for alternate identification of a tile type
* @return <p>The numerical id of the tile type</p>
*/
public int getTileTypeID() {
return this.tileTypeID;
}
/**
* Gets a tile type value from its numerical representation
* @param tileTypeID <p>The numerical representation of a tile type</p>
* @return <p>The enum value representing the tile type, or null if the id is invalid</p>
*/
public static TileType getTileTypeFromID(int tileTypeID) {
for (TileType type : TileType.values()) {
if (type.tileTypeID == tileTypeID) {
return type;
}
}
return null;
}
}

View File

@ -0,0 +1,43 @@
package inf112.fiasko.roborally.element_properties;
/**
* This enum represents all possible wall types
*/
public enum WallType {
WALL_NORMAL (1),
WALL_CORNER (2),
WALL_LASER_SINGLE (3),
WALL_LASER_DOUBLE (4);
private final int wallTypeID;
/**
* Constructor to let a wall type be represented by a numerical identifier
* @param wallTypeID <p>The numerical identifier assigned to the wall type</p>
*/
WallType(int wallTypeID) {
this.wallTypeID = wallTypeID;
}
/**
* Gets the numerical id used for alternate identification of a wall type
* @return <p>The numerical id of the wall type</p>
*/
public int getWallTypeID() {
return this.wallTypeID;
}
/**
* Gets a wall type value from its numerical representation
* @param wallTypeID <p>The numerical representation of a wall type</p>
* @return <p>The enum value representing the wall type, or null if the id is invalid</p>
*/
public static WallType getWallTypeFromID(int wallTypeID) {
for (WallType type : WallType.values()) {
if (type.wallTypeID == wallTypeID) {
return type;
}
}
return null;
}
}