diff --git a/README.md b/README.md index c536d55..0a3231d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,26 @@ Em breve, vídeo no YouTube explicando o código! -Assets tirados de: https://github.com/sourabhv/FlapPyBird \ No newline at end of file +Assets tirados de: https://github.com/sourabhv/FlapPyBird + + +## Instruções + +1. Criando ambiente virtual e inicializando; +2. Instalando dependências; +3. Executando o jogo. + +### Criando ambiente virtual e inicializando +``` +virtualenv -p python3 env +source env/bin/activate +``` + +### Instalando dependências +``` +pip instal -r requirements.txt +``` + +### Executando o jogo +``` +python ./flappy.py +``` \ No newline at end of file diff --git a/background-day.png b/assets/background-day.png similarity index 100% rename from background-day.png rename to assets/background-day.png diff --git a/base.png b/assets/base.png similarity index 100% rename from base.png rename to assets/base.png diff --git a/bluebird-downflap.png b/assets/bluebird-downflap.png similarity index 100% rename from bluebird-downflap.png rename to assets/bluebird-downflap.png diff --git a/bluebird-midflap.png b/assets/bluebird-midflap.png similarity index 100% rename from bluebird-midflap.png rename to assets/bluebird-midflap.png diff --git a/bluebird-upflap.png b/assets/bluebird-upflap.png similarity index 100% rename from bluebird-upflap.png rename to assets/bluebird-upflap.png diff --git a/pipe-red.png b/assets/pipe-red.png similarity index 100% rename from pipe-red.png rename to assets/pipe-red.png diff --git a/flappy.py b/flappy.py index 30773f2..5e7ec98 100644 --- a/flappy.py +++ b/flappy.py @@ -15,22 +15,28 @@ PIPE_GAP = 200 +IMG_BASE = 'assets/base.png' +IMG_BACKGROUND = 'assets/background-day.png' +IMG_BIRD_MIDFLAP = 'assets/bluebird-midflap.png' +IMG_BIRD_UPFLAP = 'assets/bluebird-upflap.png' +IMG_BIRD_DOWNFLAP = 'assets/bluebird-downflap.png' +IMG_PIPE = 'assets/pipe-red.png' + + class Bird(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) - self.images = [pygame.image.load('bluebird-upflap.png').convert_alpha(), - pygame.image.load('bluebird-midflap.png').convert_alpha(), - pygame.image.load('bluebird-downflap.png').convert_alpha()] - - self.speed = SPEED - + self.images = [pygame.image.load(IMG_BIRD_UPFLAP).convert_alpha(), + pygame.image.load(IMG_BIRD_MIDFLAP).convert_alpha(), + pygame.image.load(IMG_BIRD_DOWNFLAP).convert_alpha()] self.current_image = 0 - self.image = pygame.image.load('bluebird-upflap.png').convert_alpha() + self.image = pygame.image.load(IMG_BIRD_UPFLAP).convert_alpha() self.mask = pygame.mask.from_surface(self.image) + self.speed = SPEED self.rect = self.image.get_rect() self.rect[0] = SCREEN_WIDTH / 2 self.rect[1] = SCREEN_HEIGHT / 2 @@ -49,10 +55,10 @@ def bump(self): class Pipe(pygame.sprite.Sprite): - def __init__(self, inverted, xpos, ysize): + def __init__(self, xpos, ysize, inverted=False): pygame.sprite.Sprite.__init__(self) - self.image = pygame.image.load('pipe-red.png').convert_alpha() + self.image = pygame.image.load(IMG_PIPE).convert_alpha() self.image = pygame.transform.scale(self.image, (PIPE_WIDTH,PIPE_HEIGHT)) self.rect = self.image.get_rect() @@ -74,7 +80,7 @@ class Ground(pygame.sprite.Sprite): def __init__(self, xpos): pygame.sprite.Sprite.__init__(self) - self.image = pygame.image.load('base.png').convert_alpha() + self.image = pygame.image.load(IMG_BASE).convert_alpha() self.image = pygame.transform.scale(self.image, (GROUND_WIDTH, GROUND_HEIGHT)) self.mask = pygame.mask.from_surface(self.image) @@ -86,20 +92,22 @@ def __init__(self, xpos): def update(self): self.rect[0] -= GAME_SPEED + def is_off_screen(sprite): return sprite.rect[0] < -(sprite.rect[2]) + def get_random_pipes(xpos): size = random.randint(100, 300) - pipe = Pipe(False, xpos, size) - pipe_inverted = Pipe(True, xpos, SCREEN_HEIGHT - size - PIPE_GAP) + pipe = Pipe(xpos, size) + pipe_inverted = Pipe(xpos, SCREEN_HEIGHT - size - PIPE_GAP, True) return (pipe, pipe_inverted) pygame.init() screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)) -BACKGROUND = pygame.image.load('background-day.png') +BACKGROUND = pygame.image.load(IMG_BACKGROUND) BACKGROUND = pygame.transform.scale(BACKGROUND, (SCREEN_WIDTH, SCREEN_HEIGHT)) bird_group = pygame.sprite.Group() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..ac7421d --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +pygame==2.0.1 \ No newline at end of file