-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRemarques_rapport.txt
108 lines (76 loc) · 4.86 KB
/
Remarques_rapport.txt
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
107
108
Programme :
// un arbre hérite de cellule
// - les cellules/arbres sont stockés par pointeurs dans le vecteur de vecteurs
// - la cellule ne contient qu'un état, si c'est un arbre (dynamic_cast) il a des attributs spécifiques
// - faire une sous-classe de arbre : arbre en cendres ? ou alors sous-classe de cellule ou seulement arbre dans état brulé (3) : plus simpe
/* foret */
// DID : 1 : utiliser les coordonnées des arbres dans les méthodes plutôt que de les passer en arguments
// + code nettoyé (commentaires ...)
// DID 2 : revérifier les arguments des méthodes et les algorithmes pour prendre en compte les modif
// DID 3 : faire des accesseurs et setters plus propres et explicites, supprimer attributs protected ?
// DID 4 : Prise en compte des PV
// DID 5 : Gérer arbres adjacents diagonaux ET avec plus de 1 de distance
// 5 bis : reduire la transmission selon la distance ?, creer classe ? (Arbre+distance)
// DID 6 : Prise en compte coefs
// TODO 7 : EN PARTIE ; Ajout des vents
// DID 8 : Implementation de Qt
// DID 9 : Debut d'interface de configuration (taille, vitesse ...)
// TODO 10 : Jeux d'essais
/* (FireWidget)
* TODO 4- utiliser des Qrgba pour définir les couleurs
* 4_bis- lecture pixel par pixel de l'image
*/
/* (firescreen)
*
* DONE :
* - Gestion du temps continu
* - Extraire les paramètres pour initialiser la forêt :
* - AlertDialog au démarrage du programme
*
* - RAZ de la matrice :
* - AlertDialog puis création nouvelle forêt
*/
Demandé à Vincent Barichard :
OK Upscaling/Downscaling du dessin de la foret :
scale() de Qpainter
OK Ugo : Dimension du FireWidget, pour qu'il ait la même taille que le dessin de la foret :
scale on maximum size(redefinit si on change de palier ?)
Général :
Création d'un systeme de logs à partir d'un fichier debug.h inclus dans tous les fichiers cpp,
permettant d'afficher les informations de suivi de l'exécution de chaque partie indépendemment,
en activant les debugs concernés, sans ralentir l'exécution du programme en "mode release", sans debug.
Cela facilite également la finalisation du projet, car il n'y pas de code de débuggage inutile.
Moteur indépendant de l'affichage.
Transmission Feu :
(Aussi dans arbre.cpp)
/*
* On considère pour la gestion de l'embrasement d'un arbre
* et pour sa combustion le système suivant :
* Le taux d'humidité de l'arbre diminue au fil de sa combustion
* Plus ce taux est faible, plus l'arbre perd de points de vie par tour
* De plus, des paramètres extérieurs pourront ralentir cette perte ( pluie, humidité ambiante, canadarage, etc ^^)
*
* On considère de plus qu'un arbre en feu ne génère pas de flamme tant que son humidité n'est pas inférieure à 50% FAUX
* Par conséquent, un arbre emflammera son voisin uniquement à cette condition
*/
// Florian :
- voir si on fait une liste unique pour les éléments qui ont changé d'état ?
-> Non, j'ai préféré faire des listes séparées pour pouvoir traiter/afficher(1 sélection de couleur avant d'afficher la liste) et debugger plus facilement, en affichant seulement l'élément qui nous interesse.
Une liste par état ; les listes représentent les nouveaux éléments dans cet état
- extraire largeur et hauteur dans (-firescreen-) firewidget plutot que dans foret => passer un fichier plutot qu'un chemin
- 3 Création de Forêt différentes :
1) Création aléatoire de la forêt à partir de paramètres choisis par l'utilisateur (paramètres de fwelcome)
2) Création d'une forêt à partir d'une image d'une forêt (en cours), pour l'instant grâce aux niveaux de vert
3) Restauration d'une forêt enregistrée précédement
-> FireWidget est crée vide, puis il y a une initialisation par type de création de forêt voulue
Souris FireWidget (Ugo):
-/* 1- Création de la zone de selection clics souris
- * 2- Sur le release, confirmation de la zone et application de l'effet choisi
- * 3- Pour les effets, deux boutons ( coupure et retardateur ) dont un par défaut activé
- * 4- utiliser des Qrgba pour définir les couleurs
A VOIR :
Size Hints and Size Policies
When implementing a new widget, it is almost always useful to reimplement sizeHint() to provide a reasonable default size for the widget and to set the correct size policy with setSizePolicy().
By default, composite widgets which do not provide a size hint will be sized according to the space requirements of their child widgets.
The size policy lets you supply good default behavior for the layout management system, so that other widgets can contain and manage yours easily. The default size policy indicates that the size hint represents the preferred size of the widget, and this is often good enough for many widgets.
Note: The size of top-level widgets are constrained to 2/3 of the desktop's height and width. You can resize() the widget manually if these bounds are inadequate.