Bonjour,
Comme certains l´auront sûrement deviné au titre Pyxmines est un clône du démineur, un jeu qui ne paie pas de mine donc (hahaha
) mais sur lequel j´aurais mine de rien (hahaha bis, je suis trop comique
) pas mal bossé (plus d´explications plus loin).
Screenshot:
http://perso.orange.fr/pyxsoftware/images/pyxmines_01.png
Download de l´éxécutable windows :
http://perso.orange.fr/pyxsoftware/fichiers/pyxmines_v_1_0_windows.zip
Download source windows et linux, nécessite python (2.4.3) et pygame (1.7.1) pour marcher:
http://perso.orange.fr/pyxsoftware/fichiers/pyxmines_v_1_0_source.zip
Le code pour les curieux :
http://perso.orange.fr/pyxsoftware/fichiers/pyxmines_v_1_0.py
Je précise que la version source fonctionne sous Linux pour de vrai (pas comme les anciens codes que je supposais portables alors qu´en fait non).
Les touches:
Clic droit de la souris sur une case non découverte : pose/enlève un drapeau.
Clic gauche de la souris sur une case : découvre la case cliquée.
Clic quelconque sur la tête du python : relance une nouvelle partie.
Touche Echap : quitte le jeu.
Touche F1 : mode entrainement (10 rangées sur 10 colonnes).
Touche F2 : mode facile (20*10).
Touche F3 : mode moyen (20*15).
Touche F4 : mode difficile (20*20).
Touche F5 : quitte la partie en cours et affiche les meilleurs temps.
Touche S : sur l´écran des meilleurs temps remet ces derniers à 999s.
Touche Backspace : sur l´écran de saisie de nom efface la dernière lettre rentrée.
Touche Entrée : sur l´écran de saisie de nom valide le nom rentré.
[mode je raconte ma vie]
Oh eh l´autre, un démineur c´est nul ! Pourquoi t´a fait un truc pareil ?
Et bien d´abord quand je faisais du basic MO6 étant gamin j´avais fait un démineur, sauf que j´étais pas assez débrouillard pour que plusieurs cases se découvrent à la fois et qu´il fallait cliquer sur les cases qui affichait zéro une par une. Au moins 15 ans plus tard je prends ma revanche
Et ensuite puisque je fais mumuse sous Linux en ce moment je n´allais pas commencer par un truc compliqué pour m´habituer à un nouvel environnement.
Mais j´ai dit au départ que j´avais pas mal bossé dessus : en fait il y a eu 3 versions différentes du jeu et ça doit bien faire 3 semaines/1 mois que je suis dessus.
Pour la première je me suis tourné de suite vers wxpython vu que c´est le gui que je connais le mieux, mais au final il me restait des petits bugs inexpliqués par rapport à une version windows tournant correctement avec le même code, bugs venant apparemment de gtk, et vu que je n´ai pas les compétences nécessaires pour trafiquer un truc pareil j´ai fini par me tourner ailleurs.
Pour la deuxième je me suis mit à pyfltk (port python de fltk) que je voulais essayer depuis un sacré moment, mais le support des images trop basique et un comportement parfois aléatoire du code a finit par me décourager, je n´ai jamais trouvé d´où venait le fait que parfois la dernière case cliquée n´était pas actualisée à l´écran. Pourtant au début c´était prometteur (comparé à du wxpython la position des éléments est carrée).
Pour la 3e je suis revenu à pygame et ça marche apparemment bien.
Pour les 3 versions j´ai essayé de faire des stands alones éxécutables linux en utilisant pyinstaller et cxfreeze (à la façon de ceux pour windows avec py2exe) et après avoir galèré comme un malade dessus je crois pouvoir dire que c´est impossible à faire de façon fiable, on retrouve trop de trucs différents d´une distribution à l´autre (ou même d´une version de distribution à une autre version de la même distribution) qui font que l´éxécutable va buguer pour une raison x ou y, et ça c´est en supposant que l´utilisateur garde les réglages de base et ne fasse pas de config ou d´update à sa sauce. Résultat des courses c´est 100 fois plus rapide de dire aux linuxiens d´installer python et pygame, comme quoi une trop grande diversité n´est pas forcément un avantage (sous windows avec py2exe votre premier éxécutable qui marche chez tout le monde il est torché en 5 minutes). De plus le poids de ce qu´il faut refiler est parfois assez hallucinant (quasiment 30 mégas décompressé du démineur wxpython si on veut bien faire les choses c´est pas top).
[/mode je raconte ma vie]
En conclusion je suis bien content d´avoir ramé comme un c** pour sortir un démineur, et quand je vois que pygame me renvoit un message d´erreur quand j´essaie d´ouvrir un fichier mp3 car c´est surement un format trop exotique pour le manchot linux je me dis que je vais bien me marrer pour faire un jeu avec du son... Mais que voulez vous, j´ai surement des tendances sado-maso quelque part
Vous avez tout lu ? Bravo, vous êtes courageux 