8

pygame を使用して、Python で非常に単純なゲームを作成しました。スコアは、プレイヤーが到達したレベルに基づいています。という変数としてレベルがありますscore。ゲームの開始時または終了時にトップレベルを表示したい。

複数のスコアを表示できればもっと嬉しいのですが、私が見た他のスレッドはすべて複雑すぎて理解できませんでした。単純にしておいてください。私は初心者なので、必要なスコアは 1 つだけです。

4

6 に答える 6

10

shelveを使用することをお勧めします。例えば:

import shelve
d = shelve.open('score.txt')  # here you will save the score variable   
d['score'] = score            # thats all, now it is saved on disk.
d.close()

次回プログラムを開くときは、次を使用します。

import shelve
d = shelve.open('score.txt')
score = d['score']  # the score is read from disk
d.close()

そしてそれはディスクから読み取られます。同じ方法で必要に応じて、この手法を使用してスコアのリストを保存できます。

于 2013-05-24T02:04:40.027 に答える
8

このモジュールを使用して、pickle変数をディスクに保存してから再読み込みできます。

例:

import pickle

# load the previous score if it exists
try:
    with open('score.dat', 'rb') as file:
        score = pickle.load(file)
except:
    score = 0

print "High score: %d" % score

# your game code goes here
# let's say the user scores a new high-score of 10
score = 10;

# save the score
with open('score.dat', 'wb') as file:
    pickle.dump(score, file)

これにより、単一のスコアがディスクに保存されます。pickle の良いところは、簡単に拡張して複数のスコアを保存できることscoresです。単一の値ではなく配列に変更するだけです。pickleあなたが投げたほとんどすべてのタイプの変数を保存します。

于 2013-05-24T01:27:27.987 に答える