Commit Graph

55 Commits

Author SHA1 Message Date
Alyn de215327c3 modification des sources liés à l'élaboration du tutoriel. 2014-05-19 22:45:52 +02:00
Le_dahut 19f7015b9c -Ajout d'un icône par monde et d'une couleur, chaque labo devient un monde. Le monde possède le nom de l'élément ultime a réaliser, l'objectif du monde est un niveau qui est marqué d'un symbole biohazard.
-Application de la couleur du monde aux lettres qui sont affichés en surimpression et qui réprésente l'abrégé de l'élément chimique et aux liaisons actives entre les niveaux.
-Suppression de l'affichage du labo.
-Ajout d'un fond glissant de gauche a droite.
2014-05-19 21:11:58 +02:00
Alyn 0125f35a8f Nouvelle version des paillasses avec intégration du tutoriel. 2014-05-17 13:55:31 +02:00
Le_dahut 471e78e233 -Ajout de description dans la documentation du langage tuto
-Correction de bogue dans l'execution du langage tuto
-Debut d'un tutoriel pour la paillasse 1
-Ajout de la lecture des paramètres pour avoir le mode debug
2014-05-17 11:50:49 +02:00
Le_dahut bafb591802 -Implémentation de toutes les fonctions du langage 'Tuto'
-Correction d'un bogue lors du lancement d'une paillasse sans tutoriel
-Ajout d'un document au format Markdown qui décrit le langage 'Tuto'
2014-05-15 11:30:14 +02:00
Le_dahut 8977108aa5 Mise en place d'un tutoriel interactif à partir d'un langage de script interprété depuis la variable 'tuto'. 2014-05-14 23:09:51 +02:00
Le_dahut b676b676f8 -Rechargement des 3 premiers mondes pour éviter la perte de l'electron lors d'un stop.
-Correction d'un bogue lors d'un stop par la fonction "reallystop"
-Renommage des fonctions programmée avec le préfixe "prog_" et les fonctions événementielles de menu par "click_", "drag_" et "motion_".
2014-05-14 18:36:02 +02:00
Le_dahut bc7229a61f Nouvelles idées 2014-05-14 18:31:58 +02:00
Le_dahut 44d6eaba5e Changement de l'extension des documentations pour être reconnues comme markdown sur Github. 2014-05-14 09:46:25 +02:00
Le_dahut a6714a93b9 Remaniement des documentations fournies avec les sources afin de supporte le markdown 2014-05-14 09:42:37 +02:00
Le_dahut 0749bc11d8 -Généralisation de l'objet menu afin de gérer 3 types d'évènements (DRAG, MOTION & CLICK).
-L'appel des fonctions a réaliser sur chaque élément de menu est traité par la fonction "launch" qui créer un dict "state" avec toutes les informations necessaire au traitement de l'évènement (Type, Coordonnées, modifiers, Boutons..etc).
-Il est possible de faire des évaluation sur les booléens et sur les textes afin de rendre le menu dynamique.
2014-05-13 17:06:34 +02:00
Le_dahut f76847a81f - Création d'un système de gestion de menu centralisé
- Ajout de nouveau icônes
- Suppression de la variable dat et remplacement par une variable unique Menus qui contient une structure décrivant le comportement des menus de jeu.
2014-05-12 15:40:32 +02:00
Le_dahut d157aa4811 Nouvelle version base 2014-05-04 11:45:00 +02:00
Le_dahut 2f27ab738d -Remaniement du menu RAZ vers un nouveau menu "ouvrir" qui permet de revenir à la version initiale de la paillaisse ainsi qu'a des versions préalablement enregistrées par le biais du menu "sauver". 2014-05-04 11:44:38 +02:00
Le_dahut a3a4a2f0c0 Remaniement des icones afin de rendre l'interface plus lisible, plus parlante. 2014-05-04 11:37:25 +02:00
Le_dahut 654fc6bccb -Correction d'un bogue dans la fonction Resize qui provoquait des erreur de centrage dans certaines paillasses.
-Suppression d'un gros bogue qui provoquait l'inversion des éléments activables et non activables.
-Encore un bogue supprimé lors du redimensionnement de la fenêtre et que les caddits disponible sont à 0.
- Dans la fonction "reallystop", l'oubli d'un deepcopy provoquait des erreurs de réinitialisation de la variable current depuis le dictionaire persistant qui était lui aussi modifié.
-La fonction invert, boguée, modifiait la charge neutre d'un électron neutre.
2014-05-02 19:08:54 +02:00
Le_dahut b4252a168b Dernière version de la base de donnée 2014-05-02 19:03:15 +02:00
Le_dahut fa29a9b16b La paillasse "Superelectron" doit comporter un E majuscule comme objectif plutôt que minuscule pour montrer que l'on attend des superelectron négatifs. 2014-05-02 19:02:59 +02:00
Le_dahut 7742aafaaa Mise en mode debug pour test de commit 2014-04-10 16:00:57 +02:00
Le_dahut 9f13f197c3 Nouvelle version de la base du jeu. 2014-04-10 15:57:28 +02:00
Le_dahut 75984ef2c3 -Ajout de documentation (README,TODO,CREDITS,LICENSE,CHANGELOG)
-Inclusion de copyright et d'informations dans les sources.
2014-04-10 10:02:37 +02:00
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