Commit 391bc95e by BellCodeEditor

auto save

parent 989a2089
Showing with 24 additions and 29 deletions
...@@ -58,13 +58,12 @@ old_score = score ...@@ -58,13 +58,12 @@ old_score = score
block_list = pygame.sprite.Group() # 创建精灵组 block_list = pygame.sprite.Group() # 创建精灵组
with open('record.txt','r',encoding='utf-8') as f: with open('record.txt', 'r', encoding='utf-8') as f:
content=f.read() content = f.read() #文件读取操作
record=json.loads(content) record = json.loads(content)
one=record["第1名"] one = record["第1名"]
two=record["第2名"] two = record["第2名"]
three=record["第3名"] three = record["第3名"]
while True: while True:
for event in pygame.event.get(): for event in pygame.event.get():
...@@ -126,43 +125,40 @@ while True: ...@@ -126,43 +125,40 @@ while True:
screen.blit(sprite.image, (sprite.rect.x, sprite.rect.y)) screen.blit(sprite.image, (sprite.rect.x, sprite.rect.y))
if sprite.rect.x <= 0 - sprite.rect.width: if sprite.rect.x <= 0 - sprite.rect.width:
sprite.kill() sprite.kill()
if pygame.sprite.collide_rect(wukong, sprite): # 精灵碰撞检测 if pygame.sprite.collide_rect(wukong, sprite): #精灵碰撞检测
gameover = pygame.image.load('gameover.png') # 游戏结束 gameover = pygame.image.load('gameover.png') # 游戏结束
screen.blit(gameover, (400, 200)) screen.blit(gameover, (400, 200))
gamestate = False gamestate = False
if score>three: if score>three:
if score>one: if score>one:
record["第1名"]=score record["第1名"] = score
record["第2名"]=one record["第2名"] = one
record["第3名"]=two record["第3名"] = two
elif score>two: elif score > two:
record["第2名"]=score record["第2名"] = score
record["第3名"]=two record["第3名"] = two
else: else:
record["第3名"]=score record["第3名"] = score
record=json.dumps(record,ensure_ascii=False) record = json.dumps(record, ensure_ascii=False)
with open('record.txt','w',encoding='utf-8') as f: with open("record.txt","w", encoding='utf-8') as f:
f.write(record) f.write(record)
else: else:
if (sprite.rect.x + sprite.rect.width) < wukong.rect.x: if sprite.rect.x + sprite.rect.width < wukong.rect.x:
score += sprite.score score += sprite.score
sprite.score = 0 sprite.score = 0
if score > old_score: if score > old_score:
score_audio.play() score_audio.play()
old_score = score old_score = score
# 分数 # 分数
scoreSurf = basic_font.render("分数:"+str(score), True, (255, 255, 255)) scoreSurf = basic_font.render("分数:"+str(score), True, (255, 255, 255))
screen.blit(scoreSurf, (880,20)) screen.blit(scoreSurf, (880,20))
scoreSurf = basic_font.render("第1名:"+str(score), True, (255, 255, 255)) scoreSurf = basic_font.render("第1名:"+str(one), True, (255, 255, 255))
screen.blit(scoreSurf, (880,50)) screen.blit(scoreSurf, (880,50))
scoreSurf = basic_font.render("第2名:"+str(score), True, (255, 255, 255)) scoreSurf = basic_font.render("第2名:"+str(two), True, (255, 255, 255))
screen.blit(scoreSurf, (880,80)) screen.blit(scoreSurf, (880,80))
scoreSurf = basic_font.render("第3名:"+str(score), True, (255, 255, 255)) scoreSurf = basic_font.render("第3名:"+str(three), True, (255, 255, 255))
screen.blit(scoreSurf, (880,110)) screen.blit(scoreSurf, (880,110))
# 刷新画面 # 刷新画面
pygame.display.update() pygame.display.update()
FPS.tick(60) FPS.tick(60)
\ No newline at end of file
{"第1名": 30, "第2名": 4, "第3名": 3} {"第1名": 66, "第2名": 30, "第3名": 6}
\ No newline at end of file \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment