Classe de gestion (enregistrement, tri) d'objet scores et pseudos dans un fichier
par
, 26/01/2022 à 07h38 (5530 Affichages)
Et voici la version Programmation Orientée Objet (POO, OOP) du gestionnaire de score:
Fichier UTF-8 Python : scoremanage.py
Code source:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 class Scoremanage(object): "gestion d'un fichier des 10 meilleurs scores et noms des joueurs" def __init__(self,namfisco,score=0,gamer=""): import pickle self.pickle=pickle self.namfisco=namfisco self.score=score self.gamer=gamer def inisco(self): "fonction interne/utile de (re)initialisation du fichier de scores" tmpsco=[0,"no one"]*10 tmpfsc=open(self.namfisco,"wb") self.pickle.dump(tmpsco,tmpfsc) tmpfsc.close() return def vrisco(self): "fonction interne de vérification d'existence du fichier de scores" try: fs=open(self.namfisco,"rb") fs.close() except: self.inisco() return def lirsco(self): "fonction utile de lecture du fichier de scores" self.vrisco() fisco=open(self.namfisco,"rb") sco=self.pickle.load(fisco) fisco.close() return(sco) def addsco(self): "fonction utile d'ajout dans le fichier scores d'un score d'un joueur" totsco=self.lirsco() if self.gamer=="": self.gamer="Anonymous" tmpsco=[self.score,self.gamer] fs=open(self.namfisco,"wb") for p in range(0,19,2): if self.score > totsco[p]: totsco=totsco[:p]+tmpsco+totsco[p:] del totsco[20:] break self.pickle.dump(totsco,fs) fs.close() return
Vidéo explicative:
<span style="color:#008000;">