doudoulolita a écritMon ami du boulot pense qu'il faudrait mettre miks_game.py dans usr/bin pour qu'il se lance plus facilement depuis la console, j'essaierai plus tard.
tu peux aussi plus simplement mettre un script shell du genre
#!/usr/bin/env sh
python chemin_vers/miks_game.py
dans /usr/bin/ et tu l'appelle miks_game, voir même miks
Sinon, il pense aussi que la fonction de tri ne doit pas être mise dans le setup.py (ça veut dire que seuls 2 backgrounds sont installés) mais être faite seulement quand le jeu se lance (tous les backgrounds fournis au départ s'installent et on trie par date au moment de jouer). En fait, il faudrait que je décide si je fournis seulement 2 backgrounds (et dans ce cas, j'ai leurs noms pour le setup) ou plusieurs. Ceux-ci pourraient être fournis à part, d'ailleurs, et insérés dans le dossier data après l'installation.
Améliorations à apporter au jeu:
Pouvoir recommencer le jeu sans quitter quand on a gagné ou perdu.
Le répertoire où sont les backgrounds doit être facile d'accès mais si je crée le répertoire data dans /home/user, comment je connais le nom du user ?
Les variables d'environnements 🙂 $USER contient toujours le nom de l'utilisateurs qui lance le programme, $HOME contient toujours le chemin vers son dossier perso (qui n'est pas forcément /home/$USER…) y'a aussi xdg pour savoir précisément ou ranger tout ça…
http://ploum.net/post/207-modify-your-application-to-use-xdg-folders (il me semblait qu'il avait fait une version française, mais je peut me planter, le blog et bilingue, et j'ai tendance à oublier dans quelle langue j'ai lu un truc 🙁)
Ce serait bien de pouvoir voir plus de backgrounds en vignettes et cliquer dessus pour sélectionner au lieu de taper un chiffre.
Et mieux encore, faire "parcourir" pour aller chercher son background sur son ordi sans avoir à le glisser dans le dossier data.
Tu peux construire des menus en regardant ou sont l'utilisateurs clic et en faisant des actions en conséquences, tant que ça reste simple, pas besoin de faire trop compliqué, une liste de tuples (rectangle, titre, fonction), que tu parcours à chaque fois qu'un clic est effectué, si le clic entre en collision avec le rectangle, tu lance la fonction:
# initialisation, en début du jeu
def hello_world():
print "hello world"
def fonction2():
pass
def fonction3():
pass
buttons = [
(pygame.Rect(10, 10, 90, 90), 'truc', hello_world),
(pygame.Rect(110, 110, 90, 90), 'truc', fonction2),
(pygame.Rect(220, 220, 90, 90), 'truc', fonction3)]
# plus loin dans le code, quand tu détecte un évenement de clic si tu est dans le mode menu
for rect, _, f in buttons:
if rect.collide_point((e.x, e.y)):
f()
# dans ton code d'affichage, si tu est en mode menu
for rect, title, _ in buttons:
screen.fill(pygame.Color('blue'), rect)
screen.blit(font.render(title), rect) # un peu foireux, on peut centrer, et tout, c'est pour te donner une idée.
Après, tu peux changer la couleur au survol de la souris, je sais que tu a déjà fait ce genre de trucs dans ton code, 🙂
code totalement non testé, sans lire la doc, ni riens, ça ne marche probablement pas 😛 mais tu devrais comprendre l'idée 🙂
Bon, de toute façon, pour l'instant, j'essaie de régler la création du .deb et du lancement facile du programme pour comprendre comment ça fonctionne, j'améliorerai le jeu après.
Bon courage 🙂