Commit Graph

34 Commits

Author SHA1 Message Date
Le_dahut 17d3fbd28f Dépositionnement du mode debug 2014-04-09 18:19:55 +02:00
Le_dahut 699018bbbf Correction d'un bogue important concernant la designation d'une variable 2014-04-09 18:08:43 +02:00
Le_dahut 1f570538c6 Dernière version de la base pour V0.2a 2014-03-28 20:03:38 +01:00
Le_dahut 328fdae51e Suppression des fichiers qui était utilisé par l'ancien système de stockage par fichier.
Suppression du convertisseur de format.
2014-03-28 18:22:25 +01:00
Le_dahut 0c72638f2c Modification profonde du système de stockage des informations de jeu (menu, éléments de jeu, niveaux) avec le système des shelves (dictionnaire persistant).
Stocké dans la base globale "dbdata" du jeu:
-menu dans la variable "dat"
-elements de jeux dans la variable "art"
-pour la définition des niveaux de jeu "worlds"

Stocké dans la base "utilisateur" du jeu situé dans le repertoire personnel de l'utilisateur:
-pour l'enregistrement des parties utilisateurs "Uworlds"
-pour l'enregistrement de l'avancement du jeu "Finished"
2014-03-28 18:16:33 +01:00
Le_dahut ac3d52749a dernière version de la base de donnée au format shelves qui contient dorénavant tout les informations du jeu 2014-03-28 18:11:48 +01:00
Le_dahut f330fb6c45 Fichier permet de générer une base de donnée "dbdata" au format shelves qui contient les éléments de jeu, les niveau et les menus. 2014-03-28 18:11:08 +01:00
Le_dahut 55baeec433 Le convertisseur permet dorénavant d'importer les menus au format Shelves.
Il vient chercher les données contenues dans le même repertoire (user pour utilisateur et data pour donnée du jeu) et les stocke selon le schéma suivant.

Stocké dans la base globale "dbdata" du jeu:
-menu dans la variable "dat"
-elements de jeux dans la variable "art"
-pour la définition des niveaux de jeu "worlds"

Stocké dans la base "utilisateur" du jeu situé dans le repertoire personnel de l'utilisateur:
-pour l'enregistrement des parties utilisateurs "Uworlds"
-pour l'enregistrement de l'avancement du jeu "Finished"

Il crée aussi un fichier "dbsrc" qui contient un programme en python permettant de régéréner la base de donnée "dbdata" au format Shelves
2014-03-28 18:09:05 +01:00
Le_dahut 44600c0b0e Correction du bug dans la fonction reference. 2014-03-08 22:09:07 +01:00
Le_dahut 910fd6d5bb Correction de la fonction reference qui permet de rajouter des informations dans le dictionnaire en fonction de leur positionnement dans une liste. 2014-03-08 22:08:40 +01:00
Le_dahut 8021754366 Modification du converter pour permettre la conversion des sauvegardes utilisateurs vers le nouveau format shelves.
Les données utilisateurs sont stockées dans le repertoire personnel plutot que dans /user/data
2014-03-08 22:07:20 +01:00
Le_dahut a8c7706059 Base de donnée compilée avec les shelves 2014-03-08 20:24:27 +01:00
Le_dahut 1bd2dd0f4c Base de donnée source crée par convert.py renfermant les données du jeu. Actuellement uniquement les données des mondes. 2014-03-08 20:23:54 +01:00
Le_dahut 2c0f386ad2 Modification majeure vers le nouveau format de stockage pour tout les mondes
Reste a convertir les elements et les menus
2014-03-08 20:23:05 +01:00
Le_dahut cc862cfa6a Ajout d'un logiciel de lecture du nouveau format 2014-03-08 20:22:10 +01:00
Le_dahut 8a28188080 Ajout d'un systeme de conversion de l'ancien format de stockage vers les shelves 2014-03-08 20:21:46 +01:00
Le_dahut 5d93199e7e Modification du logo 2014-03-08 20:20:47 +01:00
Le_dahut d2581f496d Changement d'affichage pour quelques éléments 2014-03-08 20:20:30 +01:00
Le_dahut 3aa87a9c61 -Dans la fonction writepref, suppression des doublons des mondes débloqués.
-Renomage de la fonction drawvictory vers drawcondvictory afin d'être plus explicite.
-Explosion de la fonction drawgrid en drawgrid+drawpopup+drawbigstat+drawgameover+drawvictory afin d'améliorer la clarté du code.
-Blocage de la taille de la fenêtre a un minimum de 1024*768
-Modification de l'implantation de conditions de victoire et des données actuelles dans la barre du haut pour autoriser un redimensionnement de l'interface en fonction de la taille de la fenêtre.
2014-02-13 11:39:45 +01:00
Le_dahut cb9f2e433b -Ajout d'un évènement on resize qui appelle la fonction resize qui permet de centrer et redimensionner la grille par rapport à la fenêtre.
-Le passage en plein écran (screen) appelle la fonction resize.
-initgrid déclenche la fonction resize.
-Rajout de la récupération des valeurs a des fins statistiques dans la variable stat_var au sein de la fonction nextgrid.
-Augmentation des rayons lors de la collision, rayon+1 en collision 2xe+ ou 2xe- et rayon+10 en collision 2e-2e+.
-Modification des éléments canaliseur gauche et droit dans les fonctions isgauche et isdroite.
-Intégration de protons et neutrons dans la fonction infos qui dénombre chacune des catégorie de particules.
-Réinitialisation de la variable statistique stat_var lors des arret de simulation (reallystop).
-Création d'une fonction stater qui permet de modifier la variable seestat qui conditionne l'affichage des statistiques.
-Implémentation de l'affichage des statistique dans la fonction drawgrid.
-Modification de la fonction drawgrid pour permettre le redimensionnement de la barre du bas en fonction de la résolution horizontale de l'écran. Le diagramme de répartition varie en taille voir se subdivise en deux selon la place disponible et les icones tech et cout sont impérativement implanté en bas a droite.
-Correction d'un bogue dans drawgrid : l'affichage de la couleur de fond de l'élement chimique était érroné.
-Ajout dans l'affichage des mondes (drawworld) d'un cadenas sur les grilles non disponibles et du numéro de monde en haut a gauche.
-Modification de la fonction drawstat afin de pouvoir faire des diagrammes de répartitions selon un tableau fournis en paramètre.
-Implémentation des fonctions drawgraph et drawcumulgraph pour dessiner des graphiques et graphiques cumulés.
2014-02-12 14:05:38 +01:00
Le_dahut 7c63488663 - Ajout d'un menu contextuel qui affiche selon le niveau technologique les informations sur les éléments de jeu.
- Mise a zero des objectifs dans la variable victory dans init.
- Force quelque soient les valeurs de zoom, decx et decy le centrage automatique au chargement d'une grille de niveau.
- Debut d'implémentation d'un menu de préférence.
- Ajout de la fonction drawlaser qui est utilisée dans la fonction drawworld en charge de l'affichage du sélecteur de grille (niveau) pour rajouter un effet graphique de liaison entre les niveaux qui ont été débloqués.
- Ajout d'un effet autour des carrés de selection de tâche dans le menu bas.
- Affichage des limite a partir du niveau 5 avec la mention illimité si le nombre de cycle est grand plutot qu'on affichage numérique.
- Recadrage des message de perte ou de victoire en fonction de la taille écran.
- Suppression d'un bug dans la fonction infos qui donnait des informations eronés de victoire.
- Ajout d'un motif de gameover : création d'un neutron ou d'un proton alors que la case située juste en dessous du réacteur est déjà occupée.
- Correction d'un bogue dans la fonction erase qui ne supprimait pas correctement les protons et neutrons.
- Modifie le gameover de telle manière a ce qu'uniquement les collisions entre protons et neutrons soient sanctionnée par un gameover.
- Correction d'un bogue dans la fonction mousepress pour éviter que l'on puisse déclancer l'action au premier clique quand celle-ci est génératrice d'objet (dessin).
2014-02-07 18:08:53 +01:00
Le_dahut f06fe4de0b Définition du niveau Helium avec un maximum de 450 cycles et 1700 cadits. 2014-02-07 17:07:34 +01:00
Le_dahut fe3c87789e Changement de la couleur des traines des electrons neutres. 2014-02-07 17:06:00 +01:00
Le_dahut 2feaf6445a - Ajout du positionnement en Y de txt_drag et txt_drag2 dans la fonction drawgrid.
- Modification du postionnement du message de victoire et de gameover.
2014-02-04 08:18:15 +01:00
Le_dahut f6329a5b80 - Bug dans drawitdem : création d'un label retiré.
- Rajout du chargement des polices de caractère au lancement puis affectation des polices dans les labels.
- Changement de couleurs des éléments textes et reglages de coordonnées en fonction des nouvelles polices.
- Ajout des fichiers de polices dans le répertoire font.
- Modification de l'image levels2.png afin d'affiner le contraste.
- Modification du fichier worlds.dat afin de repositionner les éléments suite aux changements de police.
- Ajout du positionnement en Y de txt_drag et txt_drag2 dans la fonction drawgrid.
2014-02-04 08:16:23 +01:00
Le_dahut d52f4a4bbe - Modification des fichiers de niveau pour ajout du redimensionnement automatique du monde au chargement (99).
- Ebauche du niveau 1-2 helium.
- Modification des fichiers menu.dat et menu2.dat pour inclure le chargement direct des images dans le dictionnaire items.
2014-02-03 18:46:58 +01:00
Le_dahut b8d0d1eeb1 - Ajout de la lecture directe de fichiers ressources (préfixe %) dans le dict items par le biais de la fonction loaditems.
- Ajout du calcul automatique des variables decx,decy et zoom afin de faire rentrer automatiquement le plateau de jeu dans la fenêtre de façon optimale lors de l'appel de la fonction readgrid.
- Effacement de l'écran dans la fonction refresh en utilisant clear.
- Ajout dans la fonction drawsquare de la posibilité de dessiner un parallépipède rectangle plein (full=0) avec contour mais sans transparence (full=1) en donnant 2 a l'argument full.
- Modification de l'utilisation des images de façon a les charger une seule fois en début de programme puis de les utiliser par la suite avec la fonction blit.
- Modification de l'utilisation des labels de façon a les créer une seule fois en début de programme puis de les réutiliser en modifiant les propriétés. Cela pourrait regler un problème d'utilisation mémoire important.
- Bug: mauvaise implantation de la fonction return dans la fonction mouse_press provoquant la création d'élément sur le plateau de jeu lors de leur choix.
- Autre bogue dans la fonction mouse_drag provoquant le dessins sur le plateau de jeu de façon non prévue.
- Erreur dans le déclenchement du game over suite à la collision protron-neutron : le mauvais message est affiché, gameover(2) sera remplacé
- Suppression d'un bout de code inutile dans la fonction itsvictory.
- Création d'une fonction stop due à la façon dont la gestion du changement d'icone est réaliser et stocker par le dict items.
- Modification de la fonction setnothing de telle façon que l'on puisse effacer graduellement les éléments des deux couches et d'éviter la suppression des éléments de didactiel donc le niveau technologique est supérieur au niveau de la grille actuelle.
- Modification de la fonction setnothing de telle façon que l'on ne puisse remplacer des éléments de didactiel donc le niveau technologique est supérieur au niveau de la grille actuelle.
- La selection du menu du bas est modifié avec un système plus visible de carré plein avec de la transparence.
- Les informations de cycles sont présentes a partir du niveau technologique 0 et les maximums s'affichent au dela du niveau 5.
- L'affichage des cellules n'est plus réalisé avec drawsquare mais avec plusieures commandes glvertex afin de générer un plateau avec des couleurs dépendantes de la configuration des pistes.
- L'affichage du choix des niveaux grilles s'adapte à la résolution verticale de l'écran.
2014-02-03 18:41:32 +01:00
Le_dahut 75b3d9cf97 Nouveaux niveaux du monde 1 en version de base. Seuls les niveaux 1-0 et 1-1 sont opérationnels. 2014-01-30 08:11:35 +01:00
Le_dahut 9602cee3cd Ajout du monde 1 et de ses 8 niveaux 2014-01-30 08:07:34 +01:00
Le_dahut 91b5ecd78a -Moins d'argent pour faire le niveau 2014-01-30 08:07:07 +01:00
Le_dahut 6d7c502eaf -Le neutraliser est disponible qu'au niveau 4 avec un nouvel icone. 2014-01-30 08:06:39 +01:00
Le_dahut 0568a288a0 - Adapatation de la taille de la texture à l'écran/fenêtre lors de la diffusion de video sur l'objet player.
- Rajout de la possibilité de changer la transparence en donnant un quatrième argument optionnel à la fonction drawsquare et drawsemisquare.
- Ajout d'une fonction drawtriangles qui dessine des triangles aux quatres coins de éléments activables et suppression du cadre autour des éléments non activables.
- Corrige un bug dans la fonction drawworld, on doit vérifier que la liste des mondes a activer en cas de victoire ne soit pas nulle.
- Ajout d'une fonction unactive et modification de la fonction erase afin de désactiver totalement les éléments lors que l'on stope la simulation.
- BUG: Les senseurs K,L,M et N doivent etre sensibles aux superelectron negatifs et pas positifs.
- Demarrage de l'application par défaut en plein écran.
- Remise a zero de la variable stat et donc de la répartition des particules sur le jeu lors de l'appel de reallystop (stop du jeu).
- Changement du fonctionnemment de gameover et itsvictory afin de figer le jeu lorsque qu'on gagne ou l'on perd une partie. Après une action sur les commandes, on procéde à l'arrêt effectif avec la commande reallystop.
- Ajout du démarrage de la video d'intro par le player au lancement du jeu.
2014-01-30 08:05:11 +01:00
Le_dahut a43a457589 -Ajout de la liste globale adirection qui fait varier le sens de départ de l'électron dans la fonction nextgrid. Dans Swap on décale de 1 vers la gauche les éléments de la liste.
-Ajout de la création automatique du fichier pref.dat et déplacement de celui-ci dans un dossier user.
-Déplacement des données de niveaux personnalisés vers le dossier user.
-Evite le rechargement des niveaux dans la variable items par la fonction readlittlegrid, en vérifiant l'existence de la clé "cout"
2014-01-23 07:40:49 +01:00
Le_dahut 2763399ce2 Version originale, premier suivi de version dans GIT 2014-01-17 00:20:59 +01:00