mirror of
https://github.com/inf112-v20/Fiasko.git
synced 2025-01-31 23:29:36 +01:00
Legger til en fil som viser foreløbig planlagt klassestruktur
This commit is contained in:
parent
7f4fccbc79
commit
49dd6bda71
144
docs/team/planlegging/robo_rally_classes.txt
Normal file
144
docs/team/planlegging/robo_rally_classes.txt
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
Game
|
||||||
|
- List<Player> or Map<PlayerId, Player>
|
||||||
|
- Board
|
||||||
|
- Deck<ICard>
|
||||||
|
|
||||||
|
Deck
|
||||||
|
- List<Card>
|
||||||
|
|
||||||
|
- void shuffle() //Randomizes order of cards in deck
|
||||||
|
- void draw(Deck other) //Draws one card from deck other. Returns false if the other deck is empty
|
||||||
|
- void draw(Deck other, int n) //Draws n cards from deck other
|
||||||
|
- void empty(Deck other) //Moves all cards in deck to deck other
|
||||||
|
- boolean isEmpty() //Checks whether there are any cards in the deck
|
||||||
|
- int size() //Gets number of cards in deck
|
||||||
|
- List<ICard> getCards() //Gets copy of cards in deck in correct order
|
||||||
|
|
||||||
|
ICard
|
||||||
|
- S getValue() //Returns the value of the card
|
||||||
|
- T getSymbol() //Returns the symbol of the card
|
||||||
|
|
||||||
|
IGrid
|
||||||
|
- K getElement(int x, int y)
|
||||||
|
- setElement(int x, int y, K element)
|
||||||
|
- int getHeight()
|
||||||
|
- int getWidth()
|
||||||
|
|
||||||
|
Board
|
||||||
|
- Grid
|
||||||
|
- List<Robot> deadRobots;
|
||||||
|
- List<Robot> aliveRobots;
|
||||||
|
|
||||||
|
- removeDeadRobotFromBoard(Robot robot);
|
||||||
|
|
||||||
|
Position //Immutable
|
||||||
|
int xCoordinate;
|
||||||
|
int yCoordinate;
|
||||||
|
int getXCoordinate()
|
||||||
|
int getYCoordinate()
|
||||||
|
|
||||||
|
Direction {
|
||||||
|
NORTH, SOUTH, WEST, EAST
|
||||||
|
???? NORTH_WEST, NORTH_EAST, SOUTH_WEST, SOUTH_EAST ????
|
||||||
|
}
|
||||||
|
|
||||||
|
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 tileID;
|
||||||
|
|
||||||
|
private TileType(int tileID) {
|
||||||
|
this.tileID = tileID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getTileID() {
|
||||||
|
return this.tileID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TileType getTileTypeFromID(int tileID) {
|
||||||
|
for (TileType type : TileType.values()) {
|
||||||
|
if (type.tileID == tileID) {
|
||||||
|
return tile;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WallType {
|
||||||
|
WALL_NORMAL,
|
||||||
|
WALL_CORNER,
|
||||||
|
WALL_LASER_SINGLE,
|
||||||
|
WALL_LASER_DOUBLE
|
||||||
|
}
|
||||||
|
|
||||||
|
Tile
|
||||||
|
TileType type
|
||||||
|
Direction direction
|
||||||
|
|
||||||
|
FunctionalTile extends Tile
|
||||||
|
doPhaseAction() //Information required has not been decided
|
||||||
|
doRoundAction() //Information required has not been decided
|
||||||
|
doStepOnAction() //Information required has not been decided. Not needed for all functional tiles
|
||||||
|
|
||||||
|
Wall
|
||||||
|
WallType type
|
||||||
|
Direction direction
|
||||||
|
|
||||||
|
Robot
|
||||||
|
- int playerId
|
||||||
|
- int currentDamage
|
||||||
|
- boolean inPowerDown
|
||||||
|
- int lastFlagVisited
|
||||||
|
- Position backup
|
||||||
|
|
||||||
|
- int getDamage()
|
||||||
|
- setDamage(int damage)
|
||||||
|
- Position getPosition()
|
||||||
|
- setPosition(Position position)
|
||||||
|
- setPowerDown(boolean inPowerDown)
|
||||||
|
- boolean isInPowerDown()
|
||||||
|
|
||||||
|
BoardLoader
|
||||||
|
- Board loadBoard(String boardFile)
|
||||||
|
|
||||||
|
Player
|
||||||
|
- Deck<ICard>
|
||||||
|
- int playerId //Both ID and name?
|
||||||
|
- string playerName
|
||||||
|
- List<ICard> program
|
||||||
|
- Robot robot //Might not be needed
|
||||||
|
- boolean willTakePowerdownNextTurn
|
||||||
|
|
||||||
|
- boolean isAlive()
|
||||||
|
- boolean getName()
|
||||||
|
- Robot getRobot() //Might not be needed
|
||||||
|
- setPowerDownNextTurn(boolean willTakePowerdown)
|
||||||
|
|
||||||
|
IO
|
||||||
|
- Game
|
||||||
|
|
||||||
|
- List<IDrawableElement> getElementsToRender()
|
||||||
|
- ? HandleInput(?) ???
|
Loading…
x
Reference in New Issue
Block a user