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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
# -*- coding: utf-8 -*-
from os import system
import pickle
import os
DicoJoueurs = {'pseudo':'' ,'pays':'', 'categorie':'', 'score':''}
ListeJoueurs = []
#------------------------------------------- Fonctions Autonomes sur dictionnaire
def afficheDicoJoueurs(DicoJoueurs):
print (" \n Voici le DicoJoueurs mis à jour : ",DicoJoueurs)
#------------------------------------------- class Joueur
class Joueur:
def __init__(self, pseudo,pays,categorie,score):
self.pseudo = pseudo
self.pays = pays
self.categorie = categorie
self.score = score
def montretoi(self, pseudo,pays,categorie,score):
print (" \n Mes attributs => mon pseudo : {0} ; mon pays : {1} ; ma categorie : {2}; mon score : {3} \n\n".format(self.pseudo,self.pays,self.categorie,self.score))
def tapInfo(self, pseudo,pays,categorie):
self.pseudo = input(" \n Quel est ton pseudo ? ")
self.pays = input(" \n Quel est ton pays ? ")
self.categorie = input(" \n Quel est ta categorie ? ")
def remplirDicoJoueurs(self, pseudo,pays,categorie,score):
DicoJoueurs["pseudo"] = self.pseudo
DicoJoueurs["pays"] = self.pays
DicoJoueurs["categorie"] = self.categorie
DicoJoueurs["score"] = self.score
def __str__(self):
return "%s %s %s %s" % (self.pseudo, self.pays, self.categorie,self.score)
def savobj(self, pseudo,pays,categorie,score):
with open ('dataObj.bin', 'ab') as fichier:
mon_pickler = pickle.Pickler(fichier)
mon_pickler.dump(self)
print(" \n\n l'objet est sauvegardé dans le fichier dataObj.bin ")
def loaddataObj(dataObj):
ls = []
with open(dataObj, "rb") as file:
try:
while True:
ls.append(pickle.load(file))
except EOFError:
pass
return ls
#------------------------------------------- affichage du menu -----------------------
class Menu:
def __init__(self):
self.choix_menu = 'choix_menu'
def afficher_menu(self):
print(" \n\n\n")
print(" 1. Creation d'un nouvel avatar \n")
print(" 2. voir les personnages existant\n")
print(" 3. Quitter")
print(" \n\n\n")
#------------------------------------------- entree clavier choix du menu -----------------------
def choisir_menu(self):
choix_menu = input(" Choisissez une action : --> ")
print(" vous avez choisi : ",choix_menu)
ferme = input("appuie pour fermer")
choix_menu = int(choix_menu)
if choix_menu == 1:
os.system('cls')
newJoueur = Joueur(0,0,0,0)
newJoueur.montretoi(newJoueur.pseudo,newJoueur.pays,newJoueur.categorie,newJoueur.score)
newJoueur.tapInfo(newJoueur.pseudo,newJoueur.pays,newJoueur.categorie)
print(" Prise en compte de la saisie... ")
newJoueur.montretoi(newJoueur.pseudo,newJoueur.pays,newJoueur.categorie,newJoueur.score)
newJoueur.remplirDicoJoueurs(newJoueur.pseudo,newJoueur.pays,newJoueur.categorie,newJoueur.score)
afficheDicoJoueurs(DicoJoueurs)
ListeJoueurs.append(newJoueur)
print(" \n On a aussi allongé ListeJoueurs pour accueuillir le dernier joueur arrivé : {} ".format(ListeJoueurs[0]))
newJoueur.savobj(newJoueur.pseudo,newJoueur.pays,newJoueur.categorie,newJoueur.score)
if choix_menu == 2:
os.system('cls')
Joueur.loaddataObj(dataObj)
#------------------------------------------- MAIN --------------------
monmenu = Menu()
monmenu.afficher_menu()
monmenu.choisir_menu() |
Partager