问题描述
我正在为我的游戏创建一个高分功能,但我无法让它工作
I'm creating a highscore feature for my game but I cant get it to work
这是我的方法:
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文件中读取最近的高分,并检查玩家得分是否更高如果它将新的高分数写入文件
What it does is reads the most recent highscore from a .txt file and checks if the players score is higher if it is it writes the new highscore into the file
我转换字符串从 highscore
到使用 int(highscore)
进入int然后在第10行我做打印高分+ self.score
作为测试,但我抛出一个错误,说我无法添加str和int,即使我转换了 highscore
到一个int并且我转换了self.score所以由于某种原因,其中一个转换不起作用
I convert the string from highscore
into a int by using int(highscore)
then and on line 10 I do print highscore + self.score
as a test but I throws an error that says that I can't add a str and an int even though I converted highscore
to an int and I converted self.score so for some reason one of the conversions didn't work
推荐答案
int()
返回一个整数,但是您丢弃该结果。重新分配:
int()
returns an integer, but you discard that result. Reassign it:
highscore = int(highscore)
该函数不就地更改变量。如果 self.score
也是一个字符串,你需要对 int(self.score)$ c $做同样的事情。 c>,或者只删除该行。
The function does not change the variable in-place. If self.score
is a string as well, you'll need to do the same thing for int(self.score)
, or just remove that line.
这篇关于Int转换不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!