Minesweeper

Versions

Cette page ressence les importantes modifications du projet.

Tux Droid

publié le ‎‎21 déc. 2008 14:24‎‎ par Cédric Bonhomme   [ mis à jour le·‎‎21 déc. 2008 14:27‎‎ ]

Minesweeper peut désormais communiquer avec le célèbre Tux Droid !
Plus d'informations.

Tux Droid

publié le ‎‎24 nov. 2008 14:07‎‎ par Cédric Bonhomme   [ mis à jour le·‎‎24 nov. 2008 14:19‎‎ ]

Venant de faire l'acquisition d'un magnifique Tux Droid (le voilà ;-), j'ai décidé d'implémenter une nouvelle extension à ce démineur déjà bien original.
J'ai donc l'intention de réaliser une classe permettant de faire inter-agir Tux Droid avec le jeu.
Elle devrait être rapidement développée. Avec la superbe documentation de Tux Droid, ça ira vite ;-)

Quelques idées me trottent déjà dans la tête. Vous verrez .
Je crois que ce démineur devient vraiment unique ;-)

Python 3000

publié le ‎‎7 sept. 2008 06:57‎‎ par Cédric Bonhomme   [ mis à jour le·‎‎7 sept. 2008 07:56‎‎ ]

Avec l'approche de Python 3000 ainsi que la sortie de Python 3.0 beta 3 il est temps de revoir le code.
En suivant les conseils de Guido van Rossum, la procédure à suivre est celle-ci:

0. You should have excellent unit tests with close to full coverage.
1. Port your project to Python 2.6.
2. Turn on the Py3k warnings mode.
3. Test and edit until no warnings remain.
4. Use the 2to3 tool to convert this source code to 3.0 syntax. Do not manually edit the output!
5. Test the converted source code under 3.0.
6. If problems are found, make corrections to the 2.6 version of the source code and go back to step 3.
7. When it's time to release, release separate 2.6 and 3.0 tarballs (or whatever archive form you use for releases)

Pour l'étape 0, les tests, seules trois classes de tests sont présentent dans le source de Minesweeper. Ce sont les classes non graphiques. Bref, dans l'ensemble le code est loin d'être <<close to full coverage>>.

Avant de commencer je vais donc vérifier que le code respecte ces consignes. Pour le moment le source de Minesweeper respecte assez (je pense) ces conventions. En tout cas les plus importantes, peut être pas la longueur de certaines lignes ;-)


Je ne sais pas quand le portage sera terminé. De toute manière rien ne presse actuellement.
De plus, la version compatible avec Python 2.5 restera en ligne. Au moins un certain temps.

Les détails de l'évolution du portage seront mis en ligne.

Nouveau style

publié le ‎‎7 août 2008 02:17‎‎ par Cédric Bonhomme   [ mis à jour le·‎‎7 août 2008 02:26‎‎ ]

Un nouveau style baptisé Paxinum vient d'être ajouté à Minesweeper.
Ce style a été récupéré sur Wikipédia et est sous licence libre.
Page Wikipédia de l'auteur du Style. Le nom du style a donc été choisi en référence au pseudonyme de l'auteur des dessins.

Minesweeper compte maintenant cinq styles.

Affichage graphique sous forme d'histogramme des scores

publié le ‎‎21 juin 2008 04:07‎‎ par Cédric Bonhomme   [ mis à jour le·‎‎8 août 2008 07:10‎‎ ]

On peut maintenant afficher les statistiques des scores des joueurs sous forme d'histogramme. Cette fonctionnalité utilise le module pylab de Python.
Voir Matplotlib.



Bug remarqué :

The program 'demineur_gui.py' received an X Window System error.
This probably reflects a bug in the program.
The error was 'RenderBadPicture (invalid Picture parameter)'.
  (Details: serial 956 error_code 181 request_code 155 minor_code 7)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.
Ce bug provoque un arrêt brutal du programme. Si vous lancez le graphe via la commande python stats.py il n'arrivera pas. Il apparaîtra uniquement en lançant le graphique via le menu du jeu.

Le démineur parle maintenant plusieurs langues !

publié le ‎‎21 juin 2008 04:05‎‎ par Cédric Bonhomme   [ mis à jour le·‎‎21 juin 2008 04:42‎‎ ]

[16/06/2008]

Pour rapidement comprendre comment internationaliser une application Python vous pouvez lire cet excellent tutoriel :
http://www.framasoft.net/article4328.html (aussi présent dans l'archive .tar.gz)
Il reste quelques petits détails à régler. Malgré tout, à cette heure, les langues ci-dessous sont disponibles :
  • allemand ;
  • anglais ;
  • espagnol ;
  • français (langue par défaut de l'application) ;
  • italien.
Si vous trouvez quelques amusantes erreurs de traduction n'hésitez pas à les corriger ou essayez de me joindre ...

Première version

publié le ‎‎21 juin 2008 04:05‎‎ par Cédric Bonhomme   [ mis à jour le·‎‎21 juin 2008 04:05‎‎ ]

[19/05/2008]

Quelques caractéristiques :


Tous les événements de la souris d'un démineur classique sont gérés.

Les parties sont sauvegardées au format XML pour pouvoir reprendre un jeu ultérieurement.
Vous avez même la possibilité de sauvegarder les parties avec un mot de passe écrit dans le fichier XML. Le mot de passe sera alors hashé avec md5.
Lorsqu'une partie sauvegardée ne vous intéresse plus il suffit de la sélectionner dans la liste des parties sauvegardées et de faire un clic-droit qui fera apparaître un petit popup <<Supprimer cette sauvegarde>>.

Les scores sont également sauvegardés au format XML.

Le style du jeu est modifiable, même en cours de partie.
De plus vous pouvez ajouter votre propre style dans le dossier ./img/ . Il suffit de mettre les images de votre démineur et de créer un fichier ./img/votreStyle/conf contenant le nom du style, la taille en pixels de vos images (par exemple 16*16 pixels).
Vous pouvez même y configurer le curseur et les textes.
Tout est expliqué clairement dans ./img/ ...
Quatres styles sont déjà fournis dont celui de l'ancienne version.
Bref il très simple de personnaliser l'interface sans même besoin de modifier quoi que ce soit au code Python.
À la création de l'interface tous les styles valides trouvés dans ./img/ seront ajoutés au menu <<Style>>.

À l'instar du démineur de Gnome, le jeu se met automatiquement en pause lorsque la fenêtre perd le focus (ou quand elle est déplacée). La partie est alors masquée par une image.

‹ Préc.    1-7 sur 7    Suiv. ›