89 lines
2.6 KiB
TeX
89 lines
2.6 KiB
TeX
\begin{tikzpicture}
|
|
%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% CLASSES GÉNÉRALES %%
|
|
%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Spécifications du gestionnaire de jeu
|
|
\umlclass{Manager}{
|
|
window : fenêtre\\
|
|
resource\_manager : \texttt{ResourceManager}\\
|
|
clock : horloge\\
|
|
states : pile de \texttt{State}
|
|
}{
|
|
start() : vide\\
|
|
pushState(state : \texttt{State}) : vide\\
|
|
popState() : vide
|
|
}
|
|
|
|
% Spécifications du gestionnaire de ressources
|
|
\umlclass[x=4,y=-4.5]{ResourceManager}{
|
|
textures : dictionnaire \texttt{string -> texture}\\
|
|
fonts : dictionnaire \texttt{string -> police}
|
|
music : musique
|
|
}{
|
|
getTexture(name : string) : texture\\
|
|
getFont(name : string) : texture\\
|
|
getLevelPath(name : string) : string\\
|
|
playMusic(name : string) : vide\\
|
|
stopMusic() : vide
|
|
}
|
|
\umluniassoc{Manager}{ResourceManager}
|
|
|
|
% Spécfications d'un état de jeu
|
|
\umlabstract[x=-4,y=-4.5]{State}{
|
|
manager : \texttt{Manager}
|
|
}{
|
|
\umlvirt{enable() : vide}\\
|
|
\umlvirt{processEvent(event : événement) : vide}\\
|
|
\umlvirt{frame() : vide}
|
|
}
|
|
\umlunicompo{Manager}{State}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% ÉTATS DE JEU PRINCIPAUX %%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Spécifications de l'état de jeu abstrait "niveau"
|
|
% qui est une collection d'objets
|
|
\umlabstract[x=7,y=-11]{Level}{}{
|
|
\emph{Voir la figure suivante}
|
|
}
|
|
\umlinherit{State}{Level}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% ÉTATS DE JEU DU MENU %%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Spécifications de l'état de jeu "menu"
|
|
% qui est le premier état au démarrage et permet
|
|
% d'afficher les différents choix de jeu
|
|
\umlclass[y=-11]{Menu}{
|
|
background : sprite\\
|
|
choices : \texttt{[string]}\\
|
|
actions : \texttt{[callback]}\\
|
|
selection : entier non-signé
|
|
}{
|
|
loadMainMenu() : vide\\
|
|
loadLevelMenu() : vide\\
|
|
loadEditorMenu() : vide\\
|
|
launchGame(path : string) : vide\\
|
|
launchEditor(path : string) : vide\\
|
|
launchRules() : vide\\
|
|
quit() : vide\\
|
|
enable() : vide\\
|
|
processEvent(event : événement) : vide\\
|
|
frame() : vide
|
|
}
|
|
\umlinherit{State}{Menu}
|
|
|
|
% Spécifications de l'état de jeu "règles" qui
|
|
% affiche l'image décrivant les règles
|
|
\umlclass[x=-7,y=-11]{Rules}{
|
|
background : sprite\\
|
|
}{
|
|
processEvent(event : événement) : vide\\
|
|
frame() : vide
|
|
}
|
|
\umlinherit{State}{Rules}
|
|
\end{tikzpicture}
|