Compare commits
1 Commits
main
...
ueb04-arte
Author | SHA1 | Date | |
---|---|---|---|
![]() |
61e87948ab |
@ -2,17 +2,8 @@ package fr.enssat.BoulderDash.helpers;
|
||||
|
||||
import fr.enssat.BoulderDash.exceptions.UnknownModelException;
|
||||
|
||||
import fr.enssat.BoulderDash.helpers.ModelConvertHelper;
|
||||
import fr.enssat.BoulderDash.models.ExpandingWallModel;
|
||||
import fr.enssat.BoulderDash.models.RockfordModel;
|
||||
import fr.enssat.BoulderDash.models.DisplayableElementModel;
|
||||
import fr.enssat.BoulderDash.models.EmptyModel;
|
||||
import fr.enssat.BoulderDash.models.BrickWallModel;
|
||||
import fr.enssat.BoulderDash.models.BoulderModel;
|
||||
import fr.enssat.BoulderDash.models.DiamondModel;
|
||||
import fr.enssat.BoulderDash.models.DirtModel;
|
||||
import fr.enssat.BoulderDash.models.MagicWallModel;
|
||||
import fr.enssat.BoulderDash.models.SteelWallModel;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
@ -258,7 +249,7 @@ public class LevelLoadHelper {
|
||||
* @param lineIndex Position in line (vertical axis)
|
||||
*/
|
||||
private DisplayableElementModel constructGridElement(String spriteName, int rowIndex, int lineIndex, boolean convertible) throws UnknownModelException {
|
||||
ModelConvertHelper modelConvert = new ModelConvertHelper();
|
||||
ModelConvertHelper modelConvert = ModelConvertHelper.getInstance();
|
||||
DisplayableElementModel element = modelConvert.toModel(spriteName, convertible);
|
||||
|
||||
// Custom actions?
|
||||
|
@ -16,13 +16,17 @@ import fr.enssat.BoulderDash.models.SteelWallModel;
|
||||
|
||||
/**
|
||||
* ModelConvertHelper
|
||||
*
|
||||
* Provides model conversion services.
|
||||
*
|
||||
* @author Valerian Saliou <valerian@valeriansaliou.name>
|
||||
* @since 2015-06-22
|
||||
*/
|
||||
public class ModelConvertHelper {
|
||||
/**
|
||||
* Holds the single instance of the class.
|
||||
*/
|
||||
private static ModelConvertHelper instance = null;
|
||||
|
||||
/**
|
||||
* Class constructor
|
||||
*/
|
||||
@ -30,6 +34,18 @@ public class ModelConvertHelper {
|
||||
// Nothing done.
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the single instance of the ModelConvertHelper.
|
||||
* Creates the instance if it doesn't exist.
|
||||
*
|
||||
* @return The single instance of the ModelConvertHelper.
|
||||
*/
|
||||
public static synchronized ModelConvertHelper getInstance() {
|
||||
if (instance == null) {
|
||||
instance = new ModelConvertHelper();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
/**
|
||||
* Gets the model associated to the string
|
||||
*
|
||||
@ -37,60 +53,19 @@ public class ModelConvertHelper {
|
||||
* @return Model associated to given sprite name
|
||||
*/
|
||||
public DisplayableElementModel toModel(String spriteName, boolean isConvertible) throws UnknownModelException {
|
||||
DisplayableElementModel element;
|
||||
|
||||
// Instanciates the sprite element matching the given sprite name
|
||||
switch (spriteName) {
|
||||
case "black":
|
||||
case "Black":
|
||||
element = new EmptyModel();
|
||||
break;
|
||||
|
||||
case "boulder":
|
||||
case "Boulder":
|
||||
element = new BoulderModel(isConvertible);
|
||||
break;
|
||||
|
||||
case "brickwall":
|
||||
case "Brick Wall":
|
||||
element = new BrickWallModel();
|
||||
break;
|
||||
|
||||
case "diamond":
|
||||
case "Diamond":
|
||||
element = new DiamondModel();
|
||||
break;
|
||||
|
||||
case "dirt":
|
||||
case "Dirt":
|
||||
element = new DirtModel();
|
||||
break;
|
||||
|
||||
case "magicwall":
|
||||
case "Magic Wall":
|
||||
element = new MagicWallModel();
|
||||
break;
|
||||
|
||||
case "rockford":
|
||||
case "Rockford":
|
||||
element = new RockfordModel();
|
||||
break;
|
||||
|
||||
case "steelwall":
|
||||
case "Steel Wall":
|
||||
element = new SteelWallModel();
|
||||
break;
|
||||
|
||||
case "expandingwall":
|
||||
case "Expanding Wall":
|
||||
element = new ExpandingWallModel();
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new UnknownModelException("Unknown model element > " + spriteName);
|
||||
}
|
||||
|
||||
return element;
|
||||
// Instantiates the sprite element matching the given sprite name
|
||||
return switch (spriteName) {
|
||||
case "black", "Black" -> new EmptyModel();
|
||||
case "boulder", "Boulder" -> new BoulderModel(isConvertible);
|
||||
case "brickwall", "Brick Wall" -> new BrickWallModel();
|
||||
case "diamond", "Diamond" -> new DiamondModel();
|
||||
case "dirt", "Dirt" -> new DirtModel();
|
||||
case "magicwall", "Magic Wall" -> new MagicWallModel();
|
||||
case "rockford", "Rockford" -> new RockfordModel();
|
||||
case "steelwall", "Steel Wall" -> new SteelWallModel();
|
||||
case "expandingwall", "Expanding Wall" -> new ExpandingWallModel();
|
||||
default -> throw new UnknownModelException("Unknown model element > " + spriteName);
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -5,16 +5,6 @@ import fr.enssat.BoulderDash.exceptions.UnknownModelException;
|
||||
import fr.enssat.BoulderDash.helpers.LevelLoadHelper;
|
||||
import fr.enssat.BoulderDash.helpers.AudioLoadHelper;
|
||||
import fr.enssat.BoulderDash.helpers.ModelConvertHelper;
|
||||
import fr.enssat.BoulderDash.models.DisplayableElementModel;
|
||||
import fr.enssat.BoulderDash.models.RockfordModel;
|
||||
import fr.enssat.BoulderDash.models.GameInformationModel;
|
||||
import fr.enssat.BoulderDash.models.SteelWallModel;
|
||||
import fr.enssat.BoulderDash.models.EmptyModel;
|
||||
import fr.enssat.BoulderDash.models.DiamondModel;
|
||||
import fr.enssat.BoulderDash.models.DoorModel;
|
||||
import fr.enssat.BoulderDash.models.DirtModel;
|
||||
import fr.enssat.BoulderDash.models.ExpandingWallModel;
|
||||
import fr.enssat.BoulderDash.models.CursorModel;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.Observable;
|
||||
@ -48,6 +38,11 @@ public class LevelModel extends Observable implements Runnable {
|
||||
private boolean gamePaused;
|
||||
// Are we in editor or game mode ?
|
||||
private String mode;
|
||||
/**
|
||||
* Gets the single instance of the ModelConvertHelper.
|
||||
*/
|
||||
private ModelConvertHelper modelConverter = ModelConvertHelper.getInstance();
|
||||
|
||||
|
||||
/**
|
||||
* Sprite animation thread
|
||||
@ -283,16 +278,13 @@ public class LevelModel extends Observable implements Runnable {
|
||||
return;
|
||||
}
|
||||
|
||||
// Grab model value
|
||||
ModelConvertHelper modelConverter = new ModelConvertHelper();
|
||||
DisplayableElementModel targetModel;
|
||||
int xPos, yPos;
|
||||
|
||||
xPos = this.getCursorXPosition();
|
||||
yPos = this.getCursorYPosition();
|
||||
|
||||
try {
|
||||
targetModel = modelConverter.toModel(blockValue, false);
|
||||
DisplayableElementModel targetModel = modelConverter.toModel(blockValue, false);
|
||||
|
||||
// Apply new model in place of cursor
|
||||
this.groundGrid[xPos + 1][yPos + 1] = targetModel;
|
||||
|
Loading…
x
Reference in New Issue
Block a user