Game No. 3: Flappy Birds Game in Python
import pygame
import random,sys
pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode((800,600))
pygame.display.set_caption("FLAPPY BIRDS")
#BIRD
x = 200
y = 300
jump = 0
speed = 0.5
def draw_circle(x,y):
pygame.draw.circle(screen, (255,0,0), (x,y), 30)
#PIPES
pipe1 = [800, 0, 50, random.randint(20,250)]
pipe2 = [400, 0, 50, random.randint(50,250)]
Pipes = []
Pipes.append(pipe1)
Pipes.append(pipe2)
def draw_pipes(PIPE):
#left, top, width, heihgt
#TOP
pygame.draw.rect(screen, (0,255,0), (PIPE[0], PIPE[1], PIPE[2], PIPE[3]))
#BOTTOM
pygame.draw.rect(screen, (0,255,0), (PIPE[0], 150+PIPE[3], PIPE[2], PIPE[3]+400))
score = 0
running = True
while running:
screen.fill((120,120,255))
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
pygame.quit()
sys.exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE: jump = 1
if event.type == pygame.KEYUP:
if event.key == pygame.K_SPACE: jump = 0
#BIRD MOVEMENT
draw_circle(x,y)
if jump == 1:
y -= 3
else:
y += speed
#PIPE MOVEMENT
for i in Pipes:
draw_pipes(i)
i[0] -= 3
if i[0] < 0:
i[0] = 800
i[3] = random.randint(50,250)
#GAME OVER AND SCORE
for i in Pipes:
if i[0] == 200:
if y <= i[3] or y >= 150+i[3]:
print("GAME OVER")
running = False
pygame.quit()
sys.exit()
elif i[3] < y < 150+i[3]:
score += 1
print(score)
clock.tick(30)
pygame.display.update()
No comments:
Post a Comment