1a: encapsulate classes with factory

This commit is contained in:
Daniel Langbein 2024-11-16 13:32:32 +01:00
parent 11ee2dc2ea
commit f0ad616ae2
Signed by: langfingaz
GPG Key ID: 6C47C753F0823002
29 changed files with 185 additions and 174 deletions

View File

@ -1,8 +1,7 @@
package fr.enssat.BoulderDash.controllers;
import fr.enssat.BoulderDash.models.LevelModel;
import fr.enssat.BoulderDash.models.DirtModel;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
import fr.enssat.BoulderDash.models.displayableElement.LevelModel;
import fr.enssat.BoulderDash.models.displayableElement.DisplayableElementModel;
import fr.enssat.BoulderDash.helpers.AudioLoadHelper;
/**
@ -62,7 +61,7 @@ public class BoulderAndDiamondController implements Runnable {
DisplayableElementModel elementModel = this.levelModel.getGroundLevelModel()[x][y];
if(elementModel == null) {
elementModel = new DirtModel();
elementModel = DisplayableElementModel.newDirtModel();
}
String spriteName = elementModel.getSpriteName();

View File

@ -1,8 +1,7 @@
package fr.enssat.BoulderDash.controllers;
import fr.enssat.BoulderDash.models.LevelModel;
import fr.enssat.BoulderDash.models.displayableElement.LevelModel;
import fr.enssat.BoulderDash.helpers.AudioLoadHelper;
import fr.enssat.BoulderDash.controllers.NavigationBetweenViewController;
import fr.enssat.BoulderDash.views.MenuView;
import fr.enssat.BoulderDash.views.GameView;

View File

@ -1,9 +1,7 @@
package fr.enssat.BoulderDash.controllers;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
import fr.enssat.BoulderDash.models.LevelModel;
import fr.enssat.BoulderDash.controllers.RockfordUpdateController;
import fr.enssat.BoulderDash.controllers.BoulderAndDiamondController;
import fr.enssat.BoulderDash.models.displayableElement.DisplayableElementModel;
import fr.enssat.BoulderDash.models.displayableElement.LevelModel;
import fr.enssat.BoulderDash.helpers.AudioLoadHelper;
import java.awt.event.KeyEvent;

View File

@ -6,10 +6,9 @@ import java.awt.event.ActionListener;
import fr.enssat.BoulderDash.exceptions.LevelConstraintNotRespectedException;
import fr.enssat.BoulderDash.helpers.LevelRemoveHelper;
import fr.enssat.BoulderDash.helpers.LevelSaveHelper;
import fr.enssat.BoulderDash.models.LevelModel;
import fr.enssat.BoulderDash.models.displayableElement.LevelModel;
import fr.enssat.BoulderDash.views.HelpView;
import fr.enssat.BoulderDash.views.LevelEditorView;
import fr.enssat.BoulderDash.controllers.NavigationBetweenViewController;
import javax.swing.*;

View File

@ -1,6 +1,6 @@
package fr.enssat.BoulderDash.controllers;
import fr.enssat.BoulderDash.models.LevelModel;
import fr.enssat.BoulderDash.models.displayableElement.LevelModel;
import fr.enssat.BoulderDash.views.LevelEditorView;
import java.awt.event.KeyEvent;

View File

@ -4,10 +4,8 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import fr.enssat.BoulderDash.helpers.AudioLoadHelper;
import fr.enssat.BoulderDash.models.LevelModel;
import fr.enssat.BoulderDash.models.displayableElement.LevelModel;
import fr.enssat.BoulderDash.views.MenuView;
import fr.enssat.BoulderDash.controllers.LevelEditorController;
import fr.enssat.BoulderDash.controllers.GameController;
/**
* Controller to navigate between the different views

View File

@ -1,6 +1,6 @@
package fr.enssat.BoulderDash.controllers;
import fr.enssat.BoulderDash.models.LevelModel;
import fr.enssat.BoulderDash.models.displayableElement.LevelModel;
/**
* ElementPositionUpdateHelper

View File

@ -2,8 +2,8 @@ package fr.enssat.BoulderDash.helpers;
import fr.enssat.BoulderDash.exceptions.UnknownModelException;
import fr.enssat.BoulderDash.models.RockfordModel;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
import fr.enssat.BoulderDash.models.displayableElement.RockfordModel;
import fr.enssat.BoulderDash.models.displayableElement.DisplayableElementModel;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

View File

@ -3,8 +3,6 @@ package fr.enssat.BoulderDash.helpers;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -17,8 +15,7 @@ import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
import fr.enssat.BoulderDash.models.DirtModel;
import fr.enssat.BoulderDash.models.displayableElement.DisplayableElementModel;
/**
@ -320,7 +317,7 @@ public class LevelSaveHelper {
// Null?
if(curGridElement == null) {
curGridElement = new DirtModel();
curGridElement = DisplayableElementModel.newDirtModel();
}
// Retrieve current values

View File

@ -2,16 +2,7 @@ package fr.enssat.BoulderDash.helpers;
import fr.enssat.BoulderDash.exceptions.UnknownModelException;
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 fr.enssat.BoulderDash.models.displayableElement.DisplayableElementModel;
/**
@ -53,19 +44,60 @@ public class ModelConvertHelper {
* @return Model associated to given sprite name
*/
public DisplayableElementModel toModel(String spriteName, boolean isConvertible) throws UnknownModelException {
// 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);
};
DisplayableElementModel element;
// Instanciates the sprite element matching the given sprite name
switch (spriteName) {
case "black":
case "Black":
element = DisplayableElementModel.newEmptyModel();
break;
case "boulder":
case "Boulder":
element = DisplayableElementModel.newBoulderModel(isConvertible);
break;
case "brickwall":
case "Brick Wall":
element = DisplayableElementModel.newBrickWallModel();
break;
case "diamond":
case "Diamond":
element = DisplayableElementModel.newDiamondModel();
break;
case "dirt":
case "Dirt":
element = DisplayableElementModel.newDirtModel();
break;
case "magicwall":
case "Magic Wall":
element = DisplayableElementModel.newMagicWallModel();
break;
case "rockford":
case "Rockford":
element = DisplayableElementModel.newRockfordModel();
break;
case "steelwall":
case "Steel Wall":
element = DisplayableElementModel.newSteelWallModel();
break;
case "expandingwall":
case "Expanding Wall":
element = DisplayableElementModel.newExpandingWallModel();
break;
default:
throw new UnknownModelException("Unknown model element > " + spriteName);
}
return element;
}
/**

View File

@ -1,6 +1,4 @@
package fr.enssat.BoulderDash.models;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
package fr.enssat.BoulderDash.models.displayableElement;
/**
@ -34,15 +32,8 @@ public class BoulderModel extends DisplayableElementModel {
collideSound = "die";
}
/**
* Class constructor
*/
public BoulderModel(boolean convertible) {
BoulderModel(boolean convertible) {
super(isDestructible, canMove, spriteName, priority, impactExplosive, animate, false, collideSound, convertible);
this.loadSprite(spriteName);
}
public BoulderModel() {
this(false);
}
}

View File

@ -1,6 +1,4 @@
package fr.enssat.BoulderDash.models;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
package fr.enssat.BoulderDash.models.displayableElement;
/**
@ -35,11 +33,8 @@ public class BrickWallModel extends DisplayableElementModel {
falling = false;
collideSound = "touch";
}
/**
* Class constructor
*/
public BrickWallModel() {
BrickWallModel() {
super(isDestructible, canMove, spriteName, priority, impactExplosive, animate, falling, collideSound);
this.loadSprite(spriteName);
}

View File

@ -1,6 +1,4 @@
package fr.enssat.BoulderDash.models;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
package fr.enssat.BoulderDash.models.displayableElement;
/**
@ -36,10 +34,7 @@ public class CursorModel extends DisplayableElementModel {
collideSound = null;
}
/**
* Class constructor
*/
public CursorModel() {
CursorModel() {
super(isDestructible, canMove, spriteName, priority, impactExplosive, animate, falling, collideSound);
this.loadSprite(spriteName);

View File

@ -1,10 +1,8 @@
package fr.enssat.BoulderDash.models;
package fr.enssat.BoulderDash.models.displayableElement;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
/**
* DiamondModel
@ -45,16 +43,13 @@ public class DiamondModel extends DisplayableElementModel {
collideSound = "coin";
}
/**
* Class constructor
*/
public DiamondModel() {
DiamondModel() {
super(isDestructible, canMove, spriteName, priority, impactExplosive, animate, false, collideSound);
this.initSprites();
}
/**
/**
* Updates the sprite (animation loop)
*
* @param time Current time

View File

@ -1,6 +1,4 @@
package fr.enssat.BoulderDash.models;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
package fr.enssat.BoulderDash.models.displayableElement;
/**
@ -39,7 +37,7 @@ public class DirtModel extends DisplayableElementModel {
/**
* Class constructor
*/
public DirtModel() {
DirtModel() {
super(isDestructible, canMove, spriteName, priority, impactExplosive, animate, falling, collideSound);
this.loadSprite(spriteName);

View File

@ -1,4 +1,4 @@
package fr.enssat.BoulderDash.models;
package fr.enssat.BoulderDash.models.displayableElement;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
@ -68,7 +68,56 @@ public abstract class DisplayableElementModel {
);
}
/**
public static BoulderModel newBoulderModel() {
return DisplayableElementModel.newBoulderModel(false);
}
public static BoulderModel newBoulderModel(boolean convertible) {
return new BoulderModel(convertible);
}
public static BrickWallModel newBrickWallModel() {
return new BrickWallModel();
}
public static CursorModel newCursorModel() {
return new CursorModel();
}
public static DiamondModel newDiamondModel() {
return new DiamondModel();
}
public static DirtModel newDirtModel() {
return new DirtModel();
}
public static DoorModel newDoorModel() {
return new DoorModel();
}
public static EmptyModel newEmptyModel() {
return new EmptyModel();
}
public static ExpandingWallModel newExpandingWallModel() {
return new ExpandingWallModel();
}
public static MagicWallModel newMagicWallModel() {
return new MagicWallModel();
}
public static RockfordModel newRockfordModel() {
return new RockfordModel();
}
public static SteelWallModel newSteelWallModel() {
return new SteelWallModel();
}
/**
* Gets the 'destructible' value
*
* @return Whether object is destructible or not

View File

@ -1,6 +1,4 @@
package fr.enssat.BoulderDash.models;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
package fr.enssat.BoulderDash.models.displayableElement;
/**
@ -36,10 +34,7 @@ public class DoorModel extends DisplayableElementModel {
collideSound = null;
}
/**
* Class constructor
*/
public DoorModel() {
DoorModel() {
super(isDestructible, canMove, spriteName, priority, impactExplosive, animate, falling, collideSound);
this.loadSprite(spriteName);

View File

@ -1,6 +1,4 @@
package fr.enssat.BoulderDash.models;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
package fr.enssat.BoulderDash.models.displayableElement;
/**
@ -36,10 +34,7 @@ public class EmptyModel extends DisplayableElementModel {
collideSound = null;
}
/**
* Class constructor
*/
public EmptyModel() {
EmptyModel() {
super(isDestructible, canMove, spriteName, priority, impactExplosive, animate, falling, collideSound);
this.loadSprite(spriteName);

View File

@ -1,6 +1,4 @@
package fr.enssat.BoulderDash.models;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
package fr.enssat.BoulderDash.models.displayableElement;
/**
@ -35,11 +33,8 @@ public class ExpandingWallModel extends DisplayableElementModel {
falling = false;
collideSound = null;
}
/**
* Class constructor
*/
public ExpandingWallModel() {
ExpandingWallModel() {
super(destructible, canMove, spriteName, priority, impactExplosive, animate, falling, collideSound);
this.loadSprite(spriteName);
}

View File

@ -1,10 +1,11 @@
package fr.enssat.BoulderDash.models;
package fr.enssat.BoulderDash.models.displayableElement;
import fr.enssat.BoulderDash.exceptions.LevelConstraintNotRespectedException;
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.GameInformationModel;
import java.awt.image.BufferedImage;
import java.util.Observable;
@ -74,7 +75,7 @@ public class LevelModel extends Observable implements Runnable {
this.sizeWidth = this.levelLoadHelper.getWidthSizeValue();
this.sizeHeight = this.levelLoadHelper.getHeightSizeValue();
this.cursorModel = new CursorModel();
this.cursorModel = DisplayableElementModel.newCursorModel();
this.gameInformationModel = new GameInformationModel(this.levelLoadHelper.getDiamondsToCatch());
this.createLimits();
@ -123,7 +124,7 @@ public class LevelModel extends Observable implements Runnable {
for (int x = 0; x < levelModel.sizeWidth; x++) {
for (int y = 0; y < levelModel.sizeHeight; y++) {
levelModel.groundGrid[x][y] = new DirtModel();
levelModel.groundGrid[x][y] = DisplayableElementModel.newDirtModel();
}
}
@ -156,12 +157,12 @@ public class LevelModel extends Observable implements Runnable {
int maxHeight = this.sizeHeight - 1;
for (int x = 0; x < this.sizeWidth; x++) {
this.groundGrid[x][0] = new SteelWallModel();
this.groundGrid[x][maxHeight] = new SteelWallModel();
this.groundGrid[x][0] = DisplayableElementModel.newSteelWallModel();
this.groundGrid[x][maxHeight] = DisplayableElementModel.newSteelWallModel();
}
for (int y = 0; y < this.sizeHeight; y++) {
this.groundGrid[0][y] = new SteelWallModel();
this.groundGrid[maxWidth][y] = new SteelWallModel();
this.groundGrid[0][y] = DisplayableElementModel.newSteelWallModel();
this.groundGrid[maxWidth][y] = DisplayableElementModel.newSteelWallModel();
}
}
@ -254,7 +255,7 @@ public class LevelModel extends Observable implements Runnable {
// Check that we are not out of bound...
if (this.isOutOfBounds(posX, posY) == false) {
// Create a new empty model in the old pos of Rockford
this.groundGrid[oldX][oldY] = new EmptyModel();
this.groundGrid[oldX][oldY] = DisplayableElementModel.newEmptyModel();
// Save the x / y pos of Rockford in the levelModel only
this.updateRockfordPosition(posX, posY);
@ -270,7 +271,7 @@ public class LevelModel extends Observable implements Runnable {
private void spawnExit() {
int x = (int) (Math.random() * (this.getSizeHeight() - 2));
int y = (int) (Math.random() * (this.getSizeWidth() - 2));
this.groundGrid[x + 1][y + 1] = new DoorModel();
this.groundGrid[x + 1][y + 1] = DisplayableElementModel.newDoorModel();
}
/**
@ -347,7 +348,7 @@ public class LevelModel extends Observable implements Runnable {
DisplayableElementModel elementModel = this.getDisplayableElement(x, y);
if(elementModel == null) {
return new DirtModel().getSprite();
return DisplayableElementModel.newDirtModel().getSprite();
}
return elementModel.getSprite();
@ -361,7 +362,7 @@ public class LevelModel extends Observable implements Runnable {
public BufferedImage getCursorImage() {
if (this.cursorModel == null) {
this.cursorModel = new CursorModel();
this.cursorModel = DisplayableElementModel.newCursorModel();
}
return this.cursorModel.getSprite();
@ -484,7 +485,7 @@ public class LevelModel extends Observable implements Runnable {
*/
public void updateSprites(int x, int y) {
if(groundGrid[x][y] == null) {
groundGrid[x][y] = new DirtModel();
groundGrid[x][y] = DisplayableElementModel.newDirtModel();
}
groundGrid[x][y].update(System.currentTimeMillis());
@ -653,15 +654,15 @@ public class LevelModel extends Observable implements Runnable {
* @param y Object vertical position
*/
public void exploseGround(int x, int y) {
this.groundGrid[x][y] = new EmptyModel();
this.groundGrid[x + 1][y] = new EmptyModel();
this.groundGrid[x - 1][y] = new EmptyModel();
this.groundGrid[x][y + 1] = new EmptyModel();
this.groundGrid[x + 1][y + 1] = new EmptyModel();
this.groundGrid[x - 1][y + 1] = new EmptyModel();
this.groundGrid[x][y - 1] = new EmptyModel();
this.groundGrid[x + 1][y - 1] = new EmptyModel();
this.groundGrid[x - 1][y - 1] = new EmptyModel();
this.groundGrid[x][y] = DisplayableElementModel.newEmptyModel();
this.groundGrid[x + 1][y] = DisplayableElementModel.newEmptyModel();
this.groundGrid[x - 1][y] = DisplayableElementModel.newEmptyModel();
this.groundGrid[x][y + 1] = DisplayableElementModel.newEmptyModel();
this.groundGrid[x + 1][y + 1] = DisplayableElementModel.newEmptyModel();
this.groundGrid[x - 1][y + 1] = DisplayableElementModel.newEmptyModel();
this.groundGrid[x][y - 1] = DisplayableElementModel.newEmptyModel();
this.groundGrid[x + 1][y - 1] = DisplayableElementModel.newEmptyModel();
this.groundGrid[x - 1][y - 1] = DisplayableElementModel.newEmptyModel();
this.rockford.setHasExplosed(true);
// Again a sleep to notify the observers properly
@ -683,7 +684,7 @@ public class LevelModel extends Observable implements Runnable {
public void makeThisDisplayableElementFall(int x, int y) {
this.groundGrid[x][y].setFalling(true);
this.groundGrid[x][y + 1] = this.groundGrid[x][y];
this.groundGrid[x][y] = new EmptyModel();
this.groundGrid[x][y] = DisplayableElementModel.newEmptyModel();
}
/**
@ -695,7 +696,7 @@ public class LevelModel extends Observable implements Runnable {
public void makeThisBoulderSlideLeft(int x, int y) {
this.groundGrid[x][y].setFalling(true);
this.groundGrid[x - 1][y + 1] = this.groundGrid[x][y];
this.groundGrid[x][y] = new EmptyModel();
this.groundGrid[x][y] = DisplayableElementModel.newEmptyModel();
}
/**
@ -707,7 +708,7 @@ public class LevelModel extends Observable implements Runnable {
public void makeThisBoulderSlideRight(int x, int y) {
this.groundGrid[x][y].setFalling(true);
this.groundGrid[x + 1][y + 1] = this.groundGrid[x][y];
this.groundGrid[x][y] = new EmptyModel();
this.groundGrid[x][y] = DisplayableElementModel.newEmptyModel();
}
/**
@ -717,8 +718,8 @@ public class LevelModel extends Observable implements Runnable {
* @param y Object vertical position
*/
public void transformThisBoulderIntoADiamond(int x, int y) {
this.groundGrid[x][y + 2] = new DiamondModel();
this.groundGrid[x][y] = new EmptyModel();
this.groundGrid[x][y + 2] = DisplayableElementModel.newDiamondModel();
this.groundGrid[x][y] = DisplayableElementModel.newEmptyModel();
}
/**
@ -729,7 +730,7 @@ public class LevelModel extends Observable implements Runnable {
*/
public void moveThisBoulderToRight(int x, int y) {
this.groundGrid[x + 1][y] = this.groundGrid[x][y];
this.groundGrid[x][y] = new EmptyModel();
this.groundGrid[x][y] = DisplayableElementModel.newEmptyModel();
}
/**
@ -740,7 +741,7 @@ public class LevelModel extends Observable implements Runnable {
*/
public void moveThisBoulderToLeft(int x, int y) {
this.groundGrid[x - 1][y] = this.groundGrid[x][y];
this.groundGrid[x][y] = new EmptyModel();
this.groundGrid[x][y] = DisplayableElementModel.newEmptyModel();
}
/**
@ -750,7 +751,7 @@ public class LevelModel extends Observable implements Runnable {
* @param y Object vertical position
*/
public void deleteThisBoulder(int x, int y) {
this.groundGrid[x][y] = new EmptyModel();
this.groundGrid[x][y] = DisplayableElementModel.newEmptyModel();
}
/**
@ -769,8 +770,8 @@ public class LevelModel extends Observable implements Runnable {
* @param y
*/
public void exploseThisBrickWall(int x, int y) {
this.groundGrid[x][y] = new EmptyModel();
this.groundGrid[x][y + 1] = new EmptyModel();
this.groundGrid[x][y] = DisplayableElementModel.newEmptyModel();
this.groundGrid[x][y + 1] = DisplayableElementModel.newEmptyModel();
}
/**
@ -780,7 +781,7 @@ public class LevelModel extends Observable implements Runnable {
* @param y
*/
public void expandThisWallToLeft(int x, int y) {
this.groundGrid[x - 1][y] = new ExpandingWallModel();
this.groundGrid[x - 1][y] = DisplayableElementModel.newExpandingWallModel();
}
/**
@ -790,7 +791,7 @@ public class LevelModel extends Observable implements Runnable {
* @param y
*/
public void expandThisWallToRight(int x, int y) {
this.groundGrid[x + 1][y] = new ExpandingWallModel();
this.groundGrid[x + 1][y] = DisplayableElementModel.newExpandingWallModel();
}
/**

View File

@ -1,10 +1,8 @@
package fr.enssat.BoulderDash.models;
package fr.enssat.BoulderDash.models.displayableElement;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
/**
* MagicWallModel
@ -52,7 +50,7 @@ public class MagicWallModel extends DisplayableElementModel {
/**
* Class constructor
*/
public MagicWallModel() {
MagicWallModel() {
super(isDestructible, canMove, spriteName, priority, impactExplosive, animate, falling, collideSound);
this.currentFrame = 0;
this.speed = 100;

View File

@ -1,10 +1,8 @@
package fr.enssat.BoulderDash.models;
package fr.enssat.BoulderDash.models.displayableElement;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
/**
* RockfordModel
@ -72,10 +70,7 @@ public class RockfordModel extends DisplayableElementModel {
collideSound = null;
}
/**
* Class constructor
*/
public RockfordModel() {
RockfordModel() {
super(isDestructible, canMove, spriteName, priority, impactExplosive, animate, falling, collideSound);
// Speed of the animation of the sprite
this.setSpeed(100);

View File

@ -1,6 +1,4 @@
package fr.enssat.BoulderDash.models;
import fr.enssat.BoulderDash.models.DisplayableElementModel;
package fr.enssat.BoulderDash.models.displayableElement;
/**
@ -36,10 +34,7 @@ public class SteelWallModel extends DisplayableElementModel {
collideSound = "touch";
}
/**
* Class constructor
*/
public SteelWallModel() {
SteelWallModel() {
super(isDestructible, canMove, spriteName, priority, impactExplosive, animate, falling, collideSound);
this.loadSprite(spriteName);
}

View File

@ -1,9 +1,8 @@
package fr.enssat.BoulderDash.views;
import fr.enssat.BoulderDash.views.GroundView;
import fr.enssat.BoulderDash.controllers.GameController;
import fr.enssat.BoulderDash.controllers.GameKeyController;
import fr.enssat.BoulderDash.models.LevelModel;
import fr.enssat.BoulderDash.models.displayableElement.LevelModel;
import javax.swing.*;
import java.awt.*;

View File

@ -7,9 +7,7 @@ import java.util.Observable;
import java.util.Observer;
import fr.enssat.BoulderDash.controllers.GameController;
import fr.enssat.BoulderDash.models.LevelModel;
import fr.enssat.BoulderDash.views.GameGroundView;
import fr.enssat.BoulderDash.views.InformationPanel;
import fr.enssat.BoulderDash.models.displayableElement.LevelModel;
/**

View File

@ -1,6 +1,6 @@
package fr.enssat.BoulderDash.views;
import fr.enssat.BoulderDash.models.LevelModel;
import fr.enssat.BoulderDash.models.displayableElement.LevelModel;
import javax.swing.*;

View File

@ -6,7 +6,7 @@ import java.util.Observer;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import fr.enssat.BoulderDash.models.LevelModel;
import fr.enssat.BoulderDash.models.displayableElement.LevelModel;
/**

View File

@ -1,9 +1,7 @@
package fr.enssat.BoulderDash.views;
import fr.enssat.BoulderDash.views.GroundView;
import fr.enssat.BoulderDash.views.LevelEditorView;
import fr.enssat.BoulderDash.controllers.LevelEditorKeyController;
import fr.enssat.BoulderDash.models.LevelModel;
import fr.enssat.BoulderDash.models.displayableElement.LevelModel;
/**

View File

@ -8,10 +8,7 @@ import java.util.Observer;
import fr.enssat.BoulderDash.helpers.LevelSelectorHelper;
import fr.enssat.BoulderDash.controllers.LevelEditorController;
import fr.enssat.BoulderDash.controllers.NavigationBetweenViewController;
import fr.enssat.BoulderDash.models.LevelModel;
import fr.enssat.BoulderDash.views.LevelEditorGroundView;
import fr.enssat.BoulderDash.views.AssetsLevelEditorComponent;
import fr.enssat.BoulderDash.views.MenuLevelSelector;
import fr.enssat.BoulderDash.models.displayableElement.LevelModel;
/**