PlanUML.puml 3.53 KiB
@startuml
title Diagramme UML des Cyberpac 2077
java.awt.event.KeyListener <|-- engine.GameController
engine.GameController <|.. jeu.Controller
engine.Game <|.. jeu.Jeu
javax.swing.JPanel <|-- engine.DrawingPanel
engine.GameController <|-- engine.GameEngineGraphical
engine.Game <|-- engine.GameEngineGraphical
engine.GamePainter <|-- engine.GameEngineGraphical
engine.GraphicalInterface <|-- engine.GameEngineGraphical
engine.DrawingPanel <|-- engine.GraphicalInterface
engine.GamePainter <|-- engine.DrawingPanel
environment.Coordonnees <|-- entity.Entity
entity.Character <|-- environment.Physique
loaders.CharacterLoader <|-- jeu.Jeu
jeu.Painter <|-- loaders.CharacterLoader
entity.Character <|-- jeu.Jeu
jeu.Painter <|-- entity.Character
entity.Monster <|-- environment.Physique
entity.Character <|-- loaders.CharacterLoader
interface engine.GameController {
+ Cmd getCommand()
}
class engine.GraphicalInterface {
- DrawingPanel panel
+ <<Create>> GraphicalInterface(GamePainter,GameController)
+ void paint()
}
class engine.DrawingPanel {
- {static} long serialVersionUID
- GamePainter painter
- BufferedImage nextImage
- BufferedImage currentImage
- int width
+ <<Create>> DrawingPanel(GamePainter)
+ void drawGame()
+ void paint(Graphics)
}
class start.Main {
+ {static} void main(String[])
}
interface engine.GamePainter {
+ {abstract}void draw(BufferedImage)
+ {abstract}int getWidth()
+ {abstract}int getHeight()
}
interface engine.Game {
+ void evolve(Cmd)
+ boolean isFinished()
}
class engine.GameEngineGraphical {
- Game game
- GamePainter gamePainter
- GameController gameController
- GraphicalInterface gui
+ <<Create>> GameEngineGraphical(Game,GamePainter,GameController)
+ void run()
}
class entity.Character {
- double masse
- double impulsionSaut
- HashMap tableCommand
- int alpha
- double characterWIDTH
- double characterHEIGHT
- double vitesseActuX
- double vitesseActuZ
+ void deplacements()
+ void resetCommand()
+ void getGameCommand()
+ void attaque()
+ void evolveCharacter()
}
class entity.Monster{
+ Coordonnees positions
+ int vmax
+ void deplacements()
+ void attaque()
}
abstract class entity.Entity{
- HitBox hitBox
- double vitesseMax
- Coordonnees coord
- double entityWIDTH
- double entityHEIGHT
+ void deplacements()
+ Coordonnes getCoord()
+ void attaque()
}
entity.Entity <|.. entity.Character
entity.Entity <|.. entity.Monster
class environment.Obstacle{
}
class environment.Hitbox{
- HashMap<String, Coordonnees> extremites
+ public {static} Boolean Collision()
}
class environment.Coordonnees{
- int x
- int z
+ {static} int distance(Object,Object)
+ double getX()
+ double getZ()
}
class loaders.CharacterLoader{
- Character gameCharacter
- String skinPath
- Image imageCharacter
+ void refreshImage()
+ Character getGameCharacter()
+ String getSkinPath()
+ Image getImageCharacter()
+ void setSkinPath(String)
}
class jeu.Painter{
# {static} int WIDTH
# {static} int HEIGHT
+ <<Create>> Painter()
+ void draw(BufferedImage)
- void drawCharacter(Graphics2D,Character,Image)
- void drawSol(Graphics2D)
- void drawObstacle(Graphics2D)
+ int getWidth()
+ int getHeight()
}
class jeu.Controller {
- boolean isRightPressed, isLeftPressed, isSpacePressed
+ <<Create>> Controller()
+ HashMap<String,Boolean> getCommand()
+ void keyPressed(KeyEvent)
+ void keyReleased(KeyEvent)
+ void keyTyped(KeyEvent)
}
class jeu.Jeu{
+ <<Create>> Jeu(String)
+ void evolve(Cmd)
- HashMap directionJeu
+ boolean isFinished()
- Character gameCharacter
- CharacterLoader gameCharacterLoader
}
class environment.Physique{
- double g
}
@enduml