skizzle/docs/nouveau-diagramme-classe/diagramme.tex

66 lines
1.6 KiB
TeX

\documentclass[tikz,border=30pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{tikz}
\usepackage{tikz-uml}
\usepackage[french]{babel}
\begin{document}
\begin{tikzpicture}
\umlclass[y=.5]{Engine}{
objects : tableau de \texttt{Object}\\
goLeftKey: booléen\\
goRightKey : booléen\\
clock : horloge
}{
draw() : vide\\
update() : vide
}
\umlclass[x=6,y=-1]{State}{
objects : tableau de \texttt{Object}\\
goLeftKey: booléen\\
goRightKey : booléen\\
delta : flottant
}{}
\umlabstract[y=-4]{Object}{
position : vecteur\\
charge : entier signé
}{
\umlvirt{draw(fenêtre : Fenêtre) : vide}\\
\umlvirt{update(état : State) : vide}\\
\umlvirt{getLayer() : entier}\\
getPosition() : vecteur\\
getCharge() : entier signé
}
\umlabstract[y=-8,x=4]{PhysicsObject}{
velocity : vecteur\\
mass : flottant
}{
getForces(état : State) : vecteur\\
update(état : State) : vide
}
\umlclass[y=-11.5,x=4]{Ball}{}{
draw(fenêtre : Fenêtre) : vide\\
getForces(état : State) : vecteur\\
getLayer() : 1
}
\umlclass[y=-8,x=-4]{Block}{}{
draw(fenêtre : Fenêtre) : vide\\
update(état : State) : vide\\
getLayer() : 0
}
\umlcompo{Engine}{Object}
\umlinherit{Object}{Block}
\umlinherit{Object}{PhysicsObject}
\umlinherit{PhysicsObject}{Ball}
\end{tikzpicture}
\end{document}