import pygame from sys import exit import random pygame.init() screen = pygame.display.set_mode((800, 1000)) clock = pygame.time.Clock() #--------------world-class------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ class World: def __init__(self, ground, sky): self.ground = ground self.ground=pygame.transform.scale(ground, (800, 150)) self.ground_rect1 =self.ground.get_rect() self.ground_rect2=self.ground.get_rect() self.ground_rect2.bottomleft=(0,1000) self.ground_rect1.bottomleft=(800,1000) self.sky = sky self.sky=pygame.transform.scale(sky, (800, 850)) self.sky_rect1 =self.sky.get_rect() self.sky_rect2 =self.sky.get_rect() self.sky_rect2.topleft=(800,0 ) self.sky_rect1.topleft=(0,0) self.game_over = False def start_moving(self, speed, screen): if self.game_over==False: screen.blit(self.ground, self.ground_rect1) screen.blit(self.ground, self.ground_rect2) self.ground_rect1.x -= speed self.ground_rect2.x -= speed if self.ground_rect1.right <= 0: self.ground_rect1.x = 800 if self.ground_rect2.right <= 0: self.ground_rect2.x = 800 screen.blit(self.sky, self.sky_rect1) screen.blit(self.sky, self.sky_rect2) self.sky_rect1.x -= speed self.sky_rect2.x -= speed if self.sky_rect1.right <= 0: self.sky_rect1.x = 800 if self.sky_rect2.right <= 0: self.sky_rect2.x = 800 print("sky top", self.sky_rect1.y) #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #--------------flappy-class---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- class Flappy: def __init__(self,flappy): self.flappy = flappy self.flappy=pygame.transform.scale(flappy, (75, 75)) self.flappy_rect = self.flappy.get_rect() self.flappy_rect.center=(400, 375) self.gravity = 1 self.game_over=False def start_moving(self, speed, screen,jumped): if self.game_over==False: screen.blit(self.flappy, self.flappy_rect) if jumped: print("jumped") self.gravity=-11 self.gravity += 0.5 self.flappy_rect.y += self.gravity #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #--------------collision-detection------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ def collision_detection(flappy,world): if flappy.flappy_rect.top<=0 : world.game_over=True flappy.game_over=True if flappy.flappy_rect.bottom>=850: world.game_over=True flappy.game_over=True #------------setting-world------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ground = pygame.image.load('C:Usersuserpygameimagesground.png').convert_alpha() sky = pygame.image.load('C:Usersuserpygameimagesnewsky.png').convert_alpha() #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #-------------setting-flappy--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- flappy_pic=pygame.image.load('C:Usersuserpygameimagesflappy.png').convert_alpha() jumped=False #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #-------------setting-objects------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ World=World(ground,sky) Flappy=Flappy(flappy_pic) #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit() if event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: jumped=True World.start_moving(1, screen) Flappy.start_moving(1, screen,jumped) collision_detection(Flappy,World) jumped=False pygame.display.update() clock.tick(60)