Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
26 janvier 2022 3 26 /01 /janvier /2022 07:20

   Alors, ce 26 Janvier 2022 je vais enfin proposer ce module amélioré dans le blog indiqué dans l'article; ce que je n'avais pas fait primitivement. Une note: ce module, cette classe d'objet score, est dans le fichier proposé ici en UTF-8 et donc ne fonctionne pas sous Visual Studio Code tant qu'on ne l'a pas transformé en texte ASCII...

   À voir aussi en bas d'article un nouveau tutoriel vidéo sur l'usage du module (d'ici une heure: 07:40 AM).

Un module version avec classe de gestion et sauvegarde de scores d'un jeu sous Python

   Qui n'a pas déjà été triste après avoir joué à un jeu, qu'il soit programmé («codé» on dit de nos jours) en C/C++ ou en Python tant module Pygame (le plus courant) que Tkinter (tkinter depuis Python 3), de ne pas avoir la possibilité d'enregistrer son score et son pseudo? À moi, je vous l'avoue, ça m'est arrivé plus d'une fois; au point de me motiver à créer des lignes de code pour gérer un fichier contenant les dix meilleurs scores et le pseudo correspondant des joueurs.

   D'abord présenté sur le blog de www.developpez.net en version très simple, voici ici les lignes de code pouvant soit être utilisées comme module, soit, plus sûr, comme classe d'objet score à ajouter (copier-coller ou bien renommer le fichier et inclure la classe) au début de chaque jeu avant toute autres classes et en tout cas avant le programme principal du jeu lui-même.

   Bref voici le module "scoremanage":

   Évidemment ça s'adresse à ceux qui, comme moi, dès leur jeunesse ont rêvé de programmer eux-mêmes leur propre jeu. Il est clair que lorsqu'on programme un jeu, la base est d'avoir une sauvegarde et un tri des scores obtenus par des joueurs. Vous pourrez me répondre que c'est plus satisfaisant si on programme la classe de gestion de score "soi-même".

   Mais, justement, la logique de l'Open Source n'est pas «do it yourself» mais bien «do it with together», «faites le ensemble»; ce qui compte est de comprendre les lignes de codes et, pourquoi pas?, de savoir améliorer la solution proposée en imaginant d'autres usages ou besoins.

   Sinon autant dire que pour un jeu utilisant le module pygame, «autant reprogrammer soi-même l'ensemble de ce module car cela apporterait plus de satisfaction personnelle»...

   Bref:

   Plusieurs manières de l'utiliser, j'explique ici la plus flexible pour un jeu relativement complexe (2 joueurs):

#D'abord soit l'import du module soit sa copie

from scoremanage import *

#Ensuite définir l'objet

gs=Scoremanage("Zorro_sco")

#où gs n'est qu'un exemple et "Zorro_sco" le nom du fichier

#qui contient la liste des scores pour un jeu.

#Ensuite des variables contiennent les deux scores et noms des joueurs

pseudo1,score1="",1250 #ici le joueur n'a pas entré son pseudo

pseudo2,score2="optimum",3500

#Maintenant on écrit, un par un, les scores

gs.score,gs.gamer=score1,pseudo1

gs.addsco()

gs.score,gs.gamer=score2,pseudo2

gs.addsco()

#La lecture des scores renvoie une liste

scores=gs.lirsco()

#On peut réinitialiser les scores par:

gs.inisco()

#C'est tout!

   Et comme exemple concret d'utilisation un petit jeu, un classique des années fin 1960 - mi 1970 (60's - 70's):

Partager cet article
Repost0

commentaires

Présentation

  • : Town Ground anc. Igor Gorovitch
  • : Créations électroniques d'un dissident du numérique bien intégré. Musique style 90's et (un peu) programmation style années 1980 (80's). Les eighties et nineties au cœur.
  • Contact

Recherche

Pages