diff --git a/my_game.py b/my_game.py index 968602a..f19a652 100644 --- a/my_game.py +++ b/my_game.py @@ -1,7 +1,7 @@ import pygame from pygame import locals import random - +import json pygame.init() # 初始化 class Block(pygame.sprite.Sprite): # 障碍物精灵类 @@ -41,6 +41,7 @@ hero = [pygame.image.load('hero1.png'), pygame.image.load('hero4.png'), pygame.image.load('hero5.png')] basic_font = pygame.font.Font('STKAITI.TTF',32) +music_score=pygame.mixer.Sound('score.wav') index = 0 y = 400 jumpState = "runing" @@ -50,8 +51,17 @@ bg_x = 0 time = 0 gamestate = True score=0 -block_list =pygame.sprite.Group() # 创建精灵组 +speed=8 +old_score=0 + +block_list =pygame.sprite.Group() # 创建精灵组 +with open('record.txt','r',encoding='utf-8') as f: + content=f.read() + record=json.loads(content) + one=record['第1名'] + two=record['第2名'] + three=record['第3名'] while True: for event in pygame.event.get(): if event.type == locals.QUIT: @@ -61,7 +71,7 @@ while True: if jumpState == "runing": if event.key == locals.K_SPACE: jumpState = "up" - + speed=8+score//3 # 悟空造型 wukong = Player(hero[index]) if jumpState == "runing": # 跑步状态下 @@ -92,7 +102,7 @@ while True: bg_x = 0 screen.blit(background, (bg_x, 0)) # 远景 - road_x -= 8 + road_x -= speed if road_x<=-1000: road_x = 0 screen.blit(road, (road_x, 500)) # 道路 @@ -107,7 +117,7 @@ while True: obstacle = Block(bush,cacti,stone) block_list.add(obstacle) for sprite in block_list: # 遍历、展示障碍物精灵 - sprite.rect.x -= 8 + sprite.rect.x -= speed screen.blit(sprite.image, (sprite.rect.x, sprite.rect.y)) if sprite.rect.x <= 0-sprite.rect.width: sprite.kill() @@ -119,9 +129,19 @@ while True: if sprite.rect.x + sprite.rect.width < wukong.rect.x: score+=sprite.score sprite.score=0 + if score > old_score: + music_score.play() + old_score=score scoreSurf = basic_font.render("分数:"+str(score),True,(255,0,0)) screen.blit(scoreSurf,(850,20)) + scoreSurf = basic_font.render("第1名:"+str(one)),True,(255,0,0)) + screen.blit(scoreSurf,(850,50)) + scoreSurf = basic_font.render("第2名:"+str(two),True,(255,0,0)) + screen.blit(scoreSurf,(850,80)) + scoreSurf = basic_font.render("第3名:"+str(three),True,(255,0,0)) + screen.blit(scoreSurf,(850,110)) + # 刷新画面 pygame.display.update()