D'enregistrer le meilleur score pour un jeu python
J'ai fait un jeu très simple en python à l'aide de pygame. Le score est basé sur quelque niveau que ce soit le joueur atteint. J'ai le niveau d'une variable appelée score
. Je veux afficher le haut niveau au début ou à la fin de la partie.
Je serais encore plus heureux pour afficher plus d'une partition, mais tous les autres threads que j'ai vu étaient trop compliqués pour moi de comprendre, de sorte s'il vous plaît garder simple: je suis un débutant, qu'un score est nécessaire.
Python 2 et Python 3?
quel est votre problème? ce qui vous empêche de faire
2.7.4 et mon problème est que je veux être en mesure d'afficher le score à nouveau après que le programme a été fermé
En d'autres termes, vous voulez être en mesure de charger les scores des dernières séances?
quel est votre problème? ce qui vous empêche de faire
print(score)
?2.7.4 et mon problème est que je veux être en mesure d'afficher le score à nouveau après que le programme a été fermé
En d'autres termes, vous voulez être en mesure de charger les scores des dernières séances?
OriginalL'auteur Kevin Klute | 2013-05-24
Vous devez vous connecter pour publier un commentaire.
Je vous recommande d'utiliser étagère. Par exemple:
Prochaine fois que vous ouvrez votre programme d'utilisation:
et il sera lu à partir du disque. Vous pouvez utiliser cette technique pour enregistrer une liste de points si vous voulez de la même manière.
Il n'y a rien à définir, il fonctionne, tout simplement, essayez-la! Le nom de la clé "score" est choisi par vous. J'aurais pu utiliser
d['saved_score']
. Bien sûr, pour le récupérer plus tard, vous devrez utiliser le même nom que vous avez utilisé pour enregistrer. Le fichier est automatiquement créé, mais il n'est pas un format de texte, est un spécial python format pour enregistrer les variables.j'ai couru vous code, sauf que j'ai substitué mon nom de fichier et j'ai eu l'erreur "db type n'a pas pu être déterminé" désolé d'être une douleur, mais j'ai vraiment juste ne peux pas comprendre cela
eu merci pour l'aide, je comprendre que j'avais besoin d.fermer
OriginalL'auteur elyase
Vous pouvez utiliser le
pickle
module d'enregistrement des variables sur le disque, puis de les recharger.Exemple:
Cela permet d'économiser une seule partition sur le disque. La bonne chose à propos de cornichon, c'est que vous pouvez facilement étendre à enregistrer plusieurs partitions il suffit de changer
scores
être un tableau au lieu d'une valeur unique.pickle
permettra d'économiser assez bien n'importe quel type de variable que vous lui lancez.OriginalL'auteur Blorgbeard
Je viens de Java arrière-plan, et mon Python n'est pas grand, mais je veux le regarder dans la documentation Python sur la lecture et l'écriture de fichiers:
http://docs.python.org/2/tutorial/inputoutput.html
Vous pouvez écrire une variable à un texte en clair du fichier avant la fin du jeu, et puis charger le fichier de même la prochaine fois que vous démarrez le jeu.
Regarder dans le
read()
,readline()
, etwrite()
méthodes.pickle
simplifie la lecture/écriture pour vous pymotw.com/2/pickle/index.htmlOriginalL'auteur JAL
Vous pouvez utiliser une dict à tenir votre highscore et il suffit d'écrire dans un fichier:
Utilisation:
De sortie:
OriginalL'auteur Patrick Artner
D'abord créer un highscore.txt avec une valeur nulle à l'origine.
Ensuite, utilisez le code suivant:
J'ai pu faire une permanente highscore storer avec cette méthode simple, pas besoin d'étagères ou de la saumure.
OriginalL'auteur Vishnu Das
J'ai l'habitude de stocker les noms des joueurs et les high scores comme une liste de listes (par exemple
[['Joe', 50], ['Sarah', 230], ['Carl', 120]]
), parce que vous pouvez les trier et les couper en tranches (par exemple, si il devrait y avoir un maximum de 10 entrées). Vous pouvez sauvegarder et charger la liste avec lejson
module (json.dump
etjson.load
) ou avec de la saumure.La
highscores.json
fichier serait alors ressembler à ceci:OriginalL'auteur skrx
Je dirais:
OriginalL'auteur JohnDoe