... | ... | @@ -128,6 +128,112 @@ SoundManager <-- SoundType |
|
|
SoundManager <-- MusicType
|
|
|
```
|
|
|
|
|
|
##### Game
|
|
|
|
|
|
* Attributs : itsPlayer, itsBattle, itsModel, itsGUI, itsSaveManager, itsSoundManager, itsGamepadController
|
|
|
* Méthodes : startGame(), endGame(), saveGame(), loadGame()
|
|
|
* Description : Classe principale du jeu qui coordonne toutes les autres classes et gère le flux global du jeu.
|
|
|
|
|
|
##### Player
|
|
|
|
|
|
* Attributs : itsName, itsLevel, itsDx, itsDy, itsX, itsY, itsTeam
|
|
|
* Méthodes : Player(x: int, y: int), move(dX: int, dY: int): void, updateSprite(dX: int, dY: int): void, addPokemon(pokemon: Pokemon): void, removePokemon(pokemon: Pokemon): void
|
|
|
* Description : Représente le joueur dans le jeu, avec des propriétés telles que le nom, le niveau, la position, et l'équipe de Pokémon.
|
|
|
|
|
|
##### Boss
|
|
|
|
|
|
* Attributs : itsName, itsTeam
|
|
|
* Méthodes : Boss(name: String), startBattle(player: Player): void
|
|
|
* Description : Représente un boss dans le jeu, avec un nom et une équipe de Pokémon. Peut initier des combats avec le joueur.
|
|
|
|
|
|
##### Pokemon
|
|
|
|
|
|
* Attributs : itsName, itsType, itsHealth, itsSpeed, itsAtk, itsSpAtk, itsDef, itsSpDef, itsLevel, itsMoves
|
|
|
* Méthodes : executeMove(target: Pokemon, move: Move), takeDamage(damage: int), death()
|
|
|
* Description : Représente un Pokémon avec ses attributs de combat et ses mouvements.
|
|
|
|
|
|
##### Move
|
|
|
|
|
|
* Attributs : itsName, itsPower, itsType, itsNature
|
|
|
* Méthodes : execute(target: Pokemon)
|
|
|
* Description : Représente un mouvement (attaque) qu'un Pokémon peut utiliser au combat.
|
|
|
|
|
|
##### Battle
|
|
|
|
|
|
* Attributs : itsPlayer, itsOpponent, isBossBattle
|
|
|
* Méthodes : startBattle(), endBattle(), chooseMove(move: Move): void
|
|
|
* Description : Gère les batailles entre le joueur et les Pokémon adverses (y compris les combats contre les boss).
|
|
|
|
|
|
##### Screen
|
|
|
|
|
|
* Méthodes : displayMainMenu(), displayBattleScreen(), updateScreen()
|
|
|
* Description : Gère l'affichage des différentes interfaces du jeu.
|
|
|
|
|
|
##### Model
|
|
|
|
|
|
* Attributs : data
|
|
|
* Méthodes : loadGame(), quitGame()
|
|
|
* Description : Gère la logique métier du jeu et l'accès aux données.
|
|
|
|
|
|
##### Data
|
|
|
|
|
|
* Méthodes : getPokemonData(name: String): Pokemon, getMoveData(name: String): Move, saveGameData(gameData: GameData), loadGameData(): GameData
|
|
|
* Description : Gère les données du jeu, comme les informations sur les Pokémon et les mouvements.
|
|
|
|
|
|
##### GUI
|
|
|
|
|
|
* Attributs : itsScreen, objects, itsWidth, itsHeight
|
|
|
* Méthodes : loadMap(file: String), updateGUI(), displayMainMenu(), displayHUD()
|
|
|
* Description : Gère l'interface utilisateur graphique du jeu.
|
|
|
|
|
|
##### BattleHUD
|
|
|
|
|
|
* Attributs : attackOptions
|
|
|
* Méthodes : displayOptions(), chooseOption(option: Move)
|
|
|
* Description : Affiche les options d'attaque pendant une bataille.
|
|
|
|
|
|
##### House
|
|
|
|
|
|
* Attributs : objects
|
|
|
* Méthodes : enterHouse(), exitHouse(), checkCollision(player: Player): boolean
|
|
|
* Description : Gère les interactions et les collisions à l'intérieur d'une maison dans le jeu.
|
|
|
|
|
|
##### SoundManager
|
|
|
|
|
|
* Méthodes : playSound(soundType: SoundType), playMusic(musicType: MusicType)
|
|
|
* Description : Gère les effets sonores et la musique du jeu.
|
|
|
|
|
|
##### GamepadController
|
|
|
|
|
|
* Méthodes : connectController(), handleInput(input: GamepadInput)
|
|
|
* Description : Gère les entrées de la manette de jeu.
|
|
|
|
|
|
##### SaveManager
|
|
|
|
|
|
* Méthodes : saveGame(game: Game), loadGame(game: Game)
|
|
|
* Description : Gère la sauvegarde et le chargement des données de jeu.
|
|
|
|
|
|
##### PKTYPE (enum)
|
|
|
|
|
|
* Description : Énumération représentant les types de Pokémon.
|
|
|
|
|
|
##### MOVENATURE (enum)
|
|
|
|
|
|
* Valeurs : Physical, Special
|
|
|
* Description : Énumération représentant la nature des mouvements (physiques ou spéciaux).
|
|
|
|
|
|
##### SoundType (enum)
|
|
|
|
|
|
* Description : Énumération représentant les différents types de sons dans le jeu.
|
|
|
|
|
|
##### MusicType (enum)
|
|
|
|
|
|
* Description : Énumération représentant les différents types de musiques dans le jeu.
|
|
|
|
|
|
##### GamepadInput (enum)
|
|
|
|
|
|
* Description : Énumération représentant les différentes entrées de la manette de jeu.
|
|
|
|
|
|
|
|
|
|
|
|
### Diagrammes des cas d'utilisation globale:
|
... | ... | |