Skip to content

Commit

Permalink
doc: add diary
Browse files Browse the repository at this point in the history
  • Loading branch information
VincentHardouin committed Apr 27, 2024
1 parent 3e59a4b commit 58dffba
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions docs/diary/2024-04-26.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# 2024-04-26

Longtemps que je n'ai pas pris le temps d'écrire dans ce journal. Récapitulons la semaine passée, le 20 avril, j'ai mis
en production l'utilisation des données provenant de GTFS. Heureux d'être arrivé au bout de cette migration.

Le 23, j'ai migré le projet de Javascript natif vers Vue.js, ce qui m'a permis au passage d'ajouter la fonctionnalité de
toggle les stations ajoutées.

Enfin, le 25, j'ai ajouté le mode "Practice", qui permet de s'entraîner à trouver les stations avec un départ et une
arrivée différente à chaque fois.

Aujourd'hui, je vais corriger un bug qui survient quand on désactive une station et qu'on l'ajoute à nouveau via le
champ de recherche. Ce qui en plus a pour conséquence d'inverser la coche de la liste des stations.

Là-dedans, on peut voir deux choses :

1. la recherche des stations ne retire plus les stations déjà ajoutées, c'était
plutôt voulu pour déléguer les stations ajoutées au composant d'en dessous.
2. la coche de la liste des stations est inversée, car les coches ne sont pas liées à l'état des stations.

Ce qui ne me convient pas, c'est lorsque j'ajoute une station, la méthode `addStation` me retourne si le jeu est fini ou
non. Ensuite quand je désactive une station, je la retire de la liste des stations ajoutées de la partie, alors qu'il ne
faudrait pas, je pense.

J'ai une méthode toggleStation, qui décide si la station est ajoutée ou retirée, mais je ne l'utilise pas pour ajouter
uniquement pour les checkbox.
Actuellement, la class Game, ne sait pas si une station est simplement désactivée, elle sait juste qu'elle n'est pas
ajoutée.

D'ailleurs, le fait que la class n'ait pas l'information fait que ça biaise les résultats du jeu, où seulement les
stations ajoutées et encore actives sont prises en compte. Donc si l'utilisateur fait une erreur, il peut désactiver et
obtenir quand même le plus petit score.

Il faut donc que la classe ait connaissance de l'état de la station. Dans un premier temps, je renomme la
Map `addedStops` en `currentState`, qui contient les stations ajoutées et leur état `{ isActive: true }`.

J'ajoute ensuite un getter qui remplace l'ancienne variable `addedStops`.

Maintenant, j'essaie d'utiliser un ref qui pointe vers l'instance de Game, mais cela ne fonctionne pas. Après quelques
essais infructueux, je décide de mettre à jour à chaque ajout ou toggle la ref `addedStops`. Je pense que je pourrais
utiliser les events, mais j'ai quelque chose de fonctionnel qui peut partir en production, c'est déjà une première
étape.

0 comments on commit 58dffba

Please sign in to comment.