pythonpygameneat

Machine Learning Flappy Bird, pygame not opening window


I am following a tutorial by Tech with Tim on how to create a Machine learning program that learns how to play flappy bird. I finished the coding but pygame will not open a window for me to see the game.

I have tried moving my command or using different variable but none of these have worked.

import pygame
import neat
import time
import os
import random
pygame.font.init()

def draw(self, win):
        self.img_count += 1

        if self.img_count < self.ANIMATION_TIME:
            self.img = self.IMGS[0]
        elif self.img_count < self.ANIMATION_TIME*2:
            self.img = self.IMGS[1]
        elif self.img_count < self.ANIMATION_TIME*3:
            self.img = self.IMGS[2]
        elif self.img_count < self.ANIMATION_TIME*4:
            self.img = self.IMGS[1]
        elif self.img_count == self.ANIMATION_TIME*4 + 1:
            self.img = self.IMGS[0]
            self.img_count = 0

        if self.tilt <= -80:
            self.img = self.IMGS[1]
            self.img_count = self.ANIMATION_TIME*2

        rotated_image = pygame.transform.rotate(self.img, self.tilt)
        new_rect = rotated_image.get_rect(center=self.img.get_rect(topleft = (self.x, self.y)).center)
        win.blit(rotated_image, new_rect.topleft)

def draw(self, win):
        win.blit(self.PIPE_TOP, (self.x, self.top))
        win.blit(self.PIPE_BOTTOM, (self.x, self.bottom))

def draw(self, win):
        win.blit(self.IMG, (self.x1, self.y))
        win.blit(self.IMG, (self.x2, self.y))

def draw_window(win, birds, pipes, base, score):
    win.blit(BG_IMG, (0,0))

    for pipe in pipes:
        pipe.draw(win)

    text = STAT_FONT.render('Score: ' + str(score), 1, (255, 255, 
    win.blit(text, (WIN_WIDTH - 10 - text.get_width(), 10))

    base.draw(win)

    for bird in birds:
        bird.draw(win)

    pygame.display.update()

draw_window(win, birds, pipes, base, score

I'm not getting any error messages. All I have are these

 "/Users/    /    /   /Flappy Bird AI" ; env PYTHONIOENCODING=UTF-8  PYTHONUNBUFFERED=1  /Library/Frameworks/Python.framework/Versions/3.7/bin/python3  /Users/namrtashah/.vscode/extensions/ms-python.python- 2019.9.34474/pythonFiles/ptvsd_launcher.py --default --client --host  localhost --port 51472 "/Users/namrtashah/Documents/Jeevan Coding  /Flappy Bird AI/bird.py" 
 pygame 1.9.6
 Hello from the pygame community. `https://www.pygame.org/contribute.html`

Slashs are empty because the contain sensitive info.


Solution

  • I don't know if this is what you are looking for but this is how I display my pygame windows

    Make sure to do this after pygame.init()

      import pygame
      pygame.init()
      WIDTH = 500 #your width
      HEIGHT = 500 #your height
      window = pygame.display.set_mode((WIDTH, HEIGHT))