diff --git a/my_game.py b/my_game.py index 2f7ef6e..f18c1d9 100644 --- a/my_game.py +++ b/my_game.py @@ -2,6 +2,22 @@ import pygame from pygame import locals import random +class Player(pygame.sprite.Sprite): + def __init__(self,image): + super().__init__() + self.image=image + self.rect=self.image.get_rect() + self.rect.x=150 + self.rect.y=400 + +gamemode=True + + + + + + + class Gge(pygame.sprite.Sprite): def __init__(self,image1,image2,image3): super().__init__() @@ -46,60 +62,68 @@ while True: if jumpState == "runing": if event.key == locals.K_SPACE: jumpState = "up" - - if jumpState == "up": # 起跳状态 - if t > 0: - y -= t - t -= 2 - else: - jumpState = "down" - if jumpState == "down": # 降落状态 - if t <= 30: - y += t - t += 2 - else: - jumpState = "runing" - t =30 - - # 悟空造型 - wukong = hero[index] + # 悟空造型 + wukong = Player(hero[index]) if jumpState == "runing": # 跑步状态下 index += 1 if index >= 5: index = 0 - # 将背景图画上去 - screen.blit(background, (beside_x, 0)) # 远处背景 - screen.blit(road, (road_x, 500)) # 路 - screen.blit(wukong, (150, y)) # 悟空 - - beside_x-=3 - road_x-=8 - - if road_x<-1000: - road_x=0 - if beside_x<-1000: - beside_x=0 - - time +=1 - if time>=60: - time=0 - num=random.randint(0,50) - if num>20: - obstacle = Gge(bush, stone, cacti) - Gge_list.add(obstacle) - for sprite in Gge_list: - sprite.rect.x-=8 - screen.blit(sprite.image,(sprite.rect.x,sprite.rect.y)) - if sprite.rect.x<=0-sprite.rect.width: - sprite.kill() - + if gamemode == True: + if jumpState == "up": # 起跳状态 + if t > 0: + y -= t + wukong.rect.y = y + t -= 2 + else: + jumpState = "down" + if jumpState == "down": # 降落状态 + if t <= 30: + y += t + wukong.rect.y = y + t += 2 + else: + jumpState = "runing" + t =30 + + # 将背景图画上去 + screen.blit(background, (beside_x, 0)) # 远处背景 + screen.blit(road, (road_x, 500)) # 路 + screen.blit(wukong.image, (150, y)) # 悟空 + + beside_x-=3 + road_x-=8 + + if road_x<-1000: + road_x=0 + if beside_x<-1000: + beside_x=0 + + time +=1 + if time>=60: + time=0 + num=random.randint(0,50) + if num>20: + obstacle = Gge(bush, stone, cacti) + Gge_list.add(obstacle) + for sprite in Gge_list: + sprite.rect.x-=8 + screen.blit(sprite.image,(sprite.rect.x,sprite.rect.y)) + if sprite.rect.x<=0-sprite.rect.width: + sprite.kill() + + if pygame.sprite.collide_rect(wukong,sprite): + gameover=pygame.image.load("gameover.png") + screen.blit(gameover,(400,200)) + gamemode = False + + - # 刷新画面 - pygame.display.update() - FPS.tick(60) \ No newline at end of file + # 刷新画面 + pygame.display.update() + FPS.tick(60) \ No newline at end of file