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)