NSI - Loïs
Journal de bord
Voici le journal de bord du début à la fin du code avec tous les problèmes rencontrés et les états d'avancement du projet
19/01/2024
Premier problème que je rencontre, je n'arrive pas à charger d'image pour mon écran d'accueil, ça sera mon objectif de la journée, ainsi que si j'ai le temps finir l'écran d'accueil complètement
Problème réglé !!! Je ne me ferai cependant pas la honte de préciser d'où il venait, je vais donc avoir le temps de finir ma page d'accueil !
Finalement, j'ai fini la page d'accueil et je me prépare à créer la deuxième page qui sera un menu.
26/01/2024
Après de nombreux tests avec des prints, mon bouton fonctionne, cependant, l'image ne veut pas changer alors que la valeur de la varaible scene responsable du changement, elle, change. Je fais des recherches sur internet mais sur les forums personne n'a rencontré cette erreur, j'ai sûrement écris n'importe quoi...
Après de nombreuses expérimentations, le bouton change la scène.... mais il la change tant que l'on clique sur le bouton mais si on le relâche on revient à l'accueil... je crois que j'ai un nouveau problème.
Après vérification du prof, le problème est introuvable, la variable scène revient à 1 sans arrêt, et ce pour des raisons qui échappent même à son génie incontestable, je suis donc reparti de la structure du code de Fantine et maintenant ça fonctionne, je vais pouvoir travailler sur le menu.
09/02/2024
J'ai fini le bouton le plus important du menu, le bouton duel, celui qui permet de passer à la scène 3 et de choisir ses pokémons pour le combat, problème, processing n'arrive pas à charger l'image, je ne comprends pas ce qui ne marche pas, je vais y travailler aujourd'hui, en plus je n'ai plus beaucoup de temps et j'aimerai au moins que mon projet ne se résume pas à des menus. J'ai également doublé le framerate pour que l'on ait pas à cliquer plusieurs fois sur le même bouton avant qu'il accepte de fonctionner.
Après de nombreuses investigations, la cause de tous mes problèmes était une virgule manquante, parfait j'ai perdu une demi-heure à rechercher UNE VIRGULE !!
Au final j'ai pu finir un menu avec 6 pokemons différents qui s'affichent et qui servent de boutons même si les boutons ne fonctionnent pas encore comme je l'espérais.
16/02/2024
Au programme d'aujourd'hui, je vais essayer en 2h de finir le menu de sélection des pokémons, et créer le système de verrouillage (si vous choisissez un pokémon, votre adversaire ne peut pas le sélectionner).
Je découvre un nouveau problème, le passage de la scène 2 à la scène 3 est très très long, (on parle de 1 minute et 39 secondes d'attente en moyenne), et des fois la scène 3 ne s'affiche même pas, je vais essayer de résoudre le problème, à mon avis l'ordinateur charge trop d'images à la fois je vais donc essayer de synthétiser les images du menu en une seule.
Je vais être honnête, j'ai réglé le problème mais je ne sais pas comment, j'ai réécrit le début de la fonction scene_3 et maintenant le passage entre la scène 2 et la scène 3 est quasi instantané, le talent.
2ème problème, quand on clique sur un pokemon, c'est détecté mais les conditions à valider après (si le pokemon est verrouillé, si c'est le tour du joueur 1 ou du joueur 2) ne sont pas remplies pour une raison que j'ignore.
Ma théorie est que le problème précédent et celui ci sont liés, la fonction est trop grosse et python est un langage lent, je pense qu'il y a trop de conditions dans une seule et même fonction, je vais tout réunir dans une seule et même suite de conditions.
Après avoir écrit toutes les conditions que doit comporter cette page et les avoir optimisé du mieux que j'ai pu... la scène 3 ne veut toujours pas se lancer et je crois malheureusement que ma théorie était juste...
Les 2 pics que l'on voit sur l'image correspondent aux moments où j'ai essayé de cliquer sur le bouton duel qui est sensé activer la scène 3, je change donc mes objectifs du jour, on va faire de l'optimisation!
J'ai regroupé les images des 6 pokemons en une seule image, mais le temps que met la page a être affichée reste excessivement long.
A la fin des deux heures de travail et surtout d'optimisation, j'apprend que Processing c'est, dans un langage tout a fait scientifique "pas fou fou", donc le problème que j'ai rencontré vient soi de là, soit du processeur du pc, soit du fait que python est un langage très lent et pas conçu pour faire des jeux vidéos.

24/02/2024
Aujourd'hui, on est en vacances j'ai du recul sur tous les bugs, je suis pas limité en temps et surtout je peux écouter de la musique en bossant !
J'ai essayé de lancer le jeu sur mon pc mais il ne fonctionne pas, exactement le même problème qu'au lycée et ça vient pas du pc (le miens se fait vieux mais j'en reste fier et puis il n'a pas que 2 coeurs...), ça nous laisse 2 hypothèses, processing plante ou alors python est un langage trop lent.
Quoi qu'il en soit j'ai prévu d'avancer donc je vais faire comme si la scène 3 marchait.
Et puis je vais programmer un petit quelque chose à présenter à la classe puisque je ne peux pas leur montrer un jeu qui marche et le plus beau site mérite le plus beau projet après tout.
Donc aujourd'hui au programme, finir la scène 3 en prétendant qu'elle marche trouver quelque chose de beau a faire avec processing sans qu'il plante.
Je suis aussi allé chercher un peu de musique, je sais comment la lancer avec processing mais comment l'arrêter ça c'est un mystère.
EURÊKA !! En cherchant à faire marcher la bibliothèque sound pour la musique (que je n'ai pas réussi à faire fonctionner) j'ai réalisé que le problème de la scène 3 venait des conditions !! J'ai regroupé mieux les conditions afin que le programme fonctionne, problème celui-ci ne reconnaît les variables "lock" que si elles sont définies dans le "draw" de mon programme, je vais devoir régler ce problème afin de finaliser la scène 3 mais maintenant elle s'affiche !
08/03/2024
Retour au lycée, en arrivant je regarde mon code et je me rappelle que j'ai déjà eu le problème de déclaration de variable plus tôt, il m'a suffit de définir la valeur des variables avant le setup et maintenant je peux les utiliser, cependant j'ai un gros problème de boucle à mon avis le programme se perd dans les conditions et le draw ne boucle plus, c'est la dernière séance, il faut que je réussisse à faire marcher ça !
On voit vite la différence entre travailler ici et travailler chez soi, ici j'ai besoin d'attendre bien 30 secondes avant que l'ordinateur soit capable d'afficher mon programme, la scène 3 marche toujours mais il y a un temps de latence élevé entre le moment où je clique pour lancer la scène 3 et le moment où elle s'affiche et comme si c'était pas assez dur comme ça la scène 3 ne détecte plus quand je clique, et je n'ai pourtant pas touché à la scène 3...
J'en ai marre de cette scène 3 et des problèmes de boucle dans le draw, me connaissant je serai incapable de trouver le problème après m'être énervé sur le même code pendant 5 semaines je me concentre donc sur ce que je veux montrer à la classe, il faut quelque chose de spectaculaire et faisable en une heure.
Quiconque ose dire que l'informatique est une science exacte est un menteur, je préparais ma scène 4, je me trompe de bouton sur le menu et je lance la scène 3 et là pour une raison que j'ignore ELLE MARCHE. Je peux pas l'expliquer ceci dit donc je vais faire des tests. J'avance en tâtonnant, ça faisait 5 semaines que je me demandait pourquoi ça ne fonctionnait pas et maintenant je me demande juste pourquoi ça marche...
TOUT MARCHE !!! La scène 3 fait maintenant exactement ce que j'attendais d'elle, le joueur peut choisir son équipe et se préparer au combat mais maintenant que j'ai commencé je refuse de ne pas finir ce projet, je vais faire le choix stratégique de ne pas réviser mon bac blanc de français afin de finir le jeu et de permettre aux pokémons que l'on peut désormais choisir de se battre entre eux!!