0

我正在为我的游戏创建一个高分功能,但我无法让它工作

这是我的方法:

def game_over(self):
    # Game over Screen
    keys = pygame.key.get_pressed()
    self.gameover = pygame.image.load('resources/screen/game_over.png')
    screen.blit(self.gameover,(0,0))

    high_filer = open('highscores.txt', 'r')
    highscore = high_filer.read()
    high_filer.close()
    int(highscore)
    int(self.score)
    print highscore + self.score

    if self.score > highscore: 
        high_filew = open('highscores.txt', 'w')
        high_filew.write(str(self.score))
        high_filew.close()

    if (keys[K_RETURN]):
        self.state = 1

它的作用是从 .txt 文件中读取最新的高分,并检查玩家的得分是否更高,如果是,它将新的高分写入文件

highscore我使用int(highscore)then将字符串 from转换为 int ,并在第 10 行print highscore + self.score作为测试进行,但我抛出一个错误,提示我无法添加 str 和 int 即使我转换highscore为 int 并且我转换了 self.得分所以由于某种原因其中一个转换不起作用

4

1 回答 1

7

int()返回一个整数,但您丢弃该结果。重新分配它:

highscore = int(highscore)

该函数不会就地更改变量。如果self.score也是一个字符串,您需要对 做同样的事情int(self.score),或者只是删除该行。

于 2013-06-19T22:20:10.360 回答