-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUML.mm
106 lines (106 loc) · 9.52 KB
/
UML.mm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<map version="0.9.0">
<!--To view this file, download free mind mapping software Freeplane from http://freeplane.sourceforge.net -->
<node TEXT="ZombCraft,
Discussion autour de l'UML" ID="ID_886583617" CREATED="1328049823984" MODIFIED="1328049858301">
<hook NAME="MapStyle" max_node_width="600"/>
<node TEXT="Intervenants" POSITION="right" ID="ID_157176301" CREATED="1325769936575" MODIFIED="1325769942739">
<node TEXT="Miaou" ID="ID_1985761985" CREATED="1325769943878" MODIFIED="1325769975073">
<icon BUILTIN="flag-green"/>
</node>
<node TEXT="Poulpe" ID="ID_1003275930" CREATED="1325769945486" MODIFIED="1325769975506">
<icon BUILTIN="flag-orange"/>
</node>
<node TEXT="Wiskass" ID="ID_1406649464" CREATED="1325769956487" MODIFIED="1325769991714">
<icon BUILTIN="flag-blue"/>
</node>
<node TEXT="Ylliasviel" ID="ID_1827787376" CREATED="1325769960654" MODIFIED="1325769984962">
<icon BUILTIN="flag-pink"/>
</node>
</node>
<node TEXT="Sur la manière de modéliser" POSITION="right" ID="ID_1122320102" CREATED="1328459959899" MODIFIED="1328460212919">
<node TEXT="Miaou" ID="ID_791127027" CREATED="1328460214251" MODIFIED="1328460216631">
<node TEXT="Nous utilisons un langage objet. Profitons-en" ID="ID_1983870413" CREATED="1328460217850" MODIFIED="1328460226704"/>
<node TEXT="Cependant, une difficulté est de trouver l'équilibre entre :
- tout faire dans la fonction principale
- tout déporter jusqu'à l'extrème dans les sous-sous-classes" ID="ID_1157267523" CREATED="1328460227003" MODIFIED="1328460964065"/>
<node TEXT="Une autre difficulté est de trouver un équilibre dans la quantité d'échanges entre classes" ID="ID_459320307" CREATED="1328460964611" MODIFIED="1328461052088">
<node TEXT="J'ai du mal à poser cette idée clairement" ID="ID_894748075" CREATED="1328461052419" MODIFIED="1328461061616"/>
<node TEXT="Explications par l'exemple" ID="ID_994154796" CREATED="1328461061907" MODIFIED="1328461070519"/>
<node TEXT="Cas de l'affichage d'un personnage" ID="ID_883501461" CREATED="1328461071035" MODIFIED="1328461099824">
<node TEXT="cas 1 : le personnage appelle directement la librairie graphique, et blit la tile à la bonne position" ID="ID_1339499664" CREATED="1328461100139" MODIFIED="1328461132040"/>
<node TEXT="cas 2 : le personnage appelle le moteur graphique, lui dit d'afficher sa tile à la position (x,y), le moteur graphique se charge de trouver la bonne tile (de la charger à défaut) et de l'afficher si c'est cohérent." ID="ID_1272802035" CREATED="1328461132355" MODIFIED="1328461191575"/>
<node TEXT="cas 3 : ZombCraft trouve la position du perso, calcul si c'est utile de l'afficher, blit la tile à la bonne position" ID="ID_1272729804" CREATED="1328461466867" MODIFIED="1328461541984"/>
</node>
<node TEXT="Sur cet exemple, le plus "propre" est le cas 2, même si cela impose probablement trop de fioritures..." ID="ID_1113852362" CREATED="1328463435778" MODIFIED="1328465188182"/>
</node>
<node TEXT="Une autre difficulté de la modélisation UML : on tourne autour du pot" ID="ID_1453551778" CREATED="1328468444260" MODIFIED="1328468459090">
<node TEXT="en faisant UML-2, je m'aperçois que je voudrais lier proprement toutes les classes entre elles de manière claire" ID="ID_1000656483" CREATED="1328468460332" MODIFIED="1328468515457"/>
<node TEXT="mais d'une, je n'y arrive pas vraiment" ID="ID_553892317" CREATED="1328468494268" MODIFIED="1328468525953"/>
<node TEXT="de deux, à force de vouloir subordonner les tâches, rien ne progresse, rien ne se fait nul part..." ID="ID_497869785" CREATED="1328468518276" MODIFIED="1328468597665"/>
<node TEXT="bienvenue dans les objets..." ID="ID_1239900613" CREATED="1328468597949" MODIFIED="1328468605377"/>
</node>
</node>
</node>
<node TEXT="UML-1 :
Premier modèle, recensement des pb" POSITION="right" ID="ID_1200740554" CREATED="1326666658345" MODIFIED="1328464302305">
<node TEXT="Les intéractions entre les classes semblent compliquées, c'est un modèle utopique" ID="ID_1189780837" CREATED="1326666687816" MODIFIED="1328459585479">
<icon BUILTIN="flag-green"/>
</node>
<node TEXT="Le diagramme d'activité sera lui toujours plus ou moins valable" ID="ID_672630375" CREATED="1328459592387" MODIFIED="1328459612016">
<icon BUILTIN="flag-green"/>
</node>
<node TEXT="On pourra ensuite descendre un peu dans le détail, comme avec l'inventaire par exemple..." ID="ID_1475510220" CREATED="1326666817089" MODIFIED="1326667345780">
<icon BUILTIN="flag-green"/>
</node>
<node TEXT="Zombcraft" ID="ID_1409929526" CREATED="1328183339691" MODIFIED="1328183343613">
<node TEXT="Cette aurait donc comme office de lire les ordres (données) et transmettre vers les classes exécutantes ? Ca me parait correct." ID="ID_1661992922" CREATED="1328183345518" MODIFIED="1328183629628">
<icon BUILTIN="flag-pink"/>
</node>
</node>
<node TEXT="Map" ID="ID_496204715" CREATED="1328183401336" MODIFIED="1328183403099">
<node TEXT="Je suis moins convaincue par cette classe. Si on considère que la map peut être construite / déconstruite par bloc, elle revient à un affichage de tas de blocs de construction.. Ce ne serait pas une map fixe en tant que tel non?" ID="ID_1288358229" CREATED="1328183404484" MODIFIED="1328183641627">
<icon BUILTIN="flag-pink"/>
</node>
<node TEXT="Je mettrais plutôt une classe "objets" avec une sous-classe "construction" qui s'affiche et qui a un modèle physique." ID="ID_1926527536" CREATED="1328183478920" MODIFIED="1328183648548">
<icon BUILTIN="flag-pink"/>
</node>
<node TEXT="A moins que pour éviter de gérer la totalité des blocs contenus dans la zone, to considère comme "map" la couche supérieure ? A ce moment-là c'est cohérent mais ce sera alors une map dynamique." ID="ID_242013716" CREATED="1328183729248" MODIFIED="1328183790547">
<icon BUILTIN="flag-pink"/>
</node>
<node TEXT="Je note, je note, je réfléchis." ID="ID_1294711940" CREATED="1328459692954" MODIFIED="1328459706651">
<icon BUILTIN="flag-green"/>
</node>
</node>
</node>
<node TEXT="UML-2 :
Vers un modèle "propre"" POSITION="right" ID="ID_1389331730" CREATED="1328464977344" MODIFIED="1328465159677">
<node TEXT="J'essaie d'orienter ce modèle sur les intéractions propres entre objets" ID="ID_1726116018" CREATED="1328465283280" MODIFIED="1328465298224">
<icon BUILTIN="flag-green"/>
<node TEXT="Le problème de tourner autour du pot se fait sentir : ZombCraft.UpdateWorld() va contenir le moteur du jeu. C'est mal ? C'est pas objet. Comment le rendre objet" ID="ID_1168647516" CREATED="1328469236484" MODIFIED="1328469308147">
<icon BUILTIN="flag-green"/>
</node>
<node TEXT="Peut-être essayer d'implémenter quelque chose dans la branche PAB, pour voir si tout ça ne sont pas des faux problèmes." ID="ID_557609069" CREATED="1328469482268" MODIFIED="1328469505133">
<icon BUILTIN="flag-green"/>
</node>
</node>
<node TEXT="Après un temps de pause, idées plus nettes" ID="ID_1760268109" CREATED="1331160997868" MODIFIED="1331161623460">
<icon BUILTIN="flag-green"/>
<node TEXT="L'idée est ici de dire que ZombCraft() gère une instance du jeu. Il y a un ZombCraft() par joueur" ID="ID_1990428410" CREATED="1331161127947" MODIFIED="1331161627050">
<icon BUILTIN="flag-green"/>
</node>
<node TEXT="Ajout de la classe World" ID="ID_1514196958" CREATED="1331161193739" MODIFIED="1331161627051">
<icon BUILTIN="flag-green"/>
<node TEXT="World gère une instance du monde" ID="ID_628051484" CREATED="1331161207307" MODIFIED="1331161374615"/>
<node TEXT="Rôle : Permet de gérer les infos et les méthodes de gestion de vie du monde" ID="ID_946742364" CREATED="1331161043426" MODIFIED="1331161457263"/>
<node TEXT="ce qui fait vivre le tout !" ID="ID_1871004037" CREATED="1331161095554" MODIFIED="1331161101416"/>
<node TEXT="c'est le moteur du jeu finalement, ce qui est intéressant, pas de l'interface" ID="ID_1691702748" CREATED="1331161066307" MODIFIED="1331161095247"/>
<node TEXT="Il devrait y avoir une instance maître (serveur)" ID="ID_1256443533" CREATED="1331161390794" MODIFIED="1331161392743"/>
<node TEXT="et d'autres instances réduites (clients) qui vivent, mais se synchronisent au serveur" ID="ID_1980700015" CREATED="1331161395139" MODIFIED="1331161436056"/>
</node>
<node TEXT="Ajout également de la classe Guest, dont User interface est un héritage" ID="ID_1406842306" CREATED="1331161106595" MODIFIED="1331161627050">
<icon BUILTIN="flag-green"/>
<node TEXT="Il y a un Guest() par joueur" ID="ID_1276358051" CREATED="1331161476019" MODIFIED="1331161483248"/>
<node TEXT="une instance représente localement un joueur qui peut être distant" ID="ID_1837314227" CREATED="1331161483475" MODIFIED="1331161514374"/>
<node TEXT="devrait y avoir des stats comme le ping, le texte écrit, l'inventaire peut-être" ID="ID_1596658463" CREATED="1331161517826" MODIFIED="1331161551158"/>
<node TEXT="Permet de faire abstraction de la couche internet ! En effet, quand les messages internet seront parsés, l'instance du guest sera informée" ID="ID_1137075069" CREATED="1331161551465" MODIFIED="1331161597590"/>
<node TEXT="je ne sais pas encore si elle sera vraiment utile." ID="ID_430866107" CREATED="1331161606154" MODIFIED="1331161615758"/>
</node>
</node>
</node>
</node>
</map>