Member Avatar for jtaylor-bye

Hi all this is my code :-

import pygame
from pygame.locals import *
from sys import exit
from random import *
pygame.init()
screen = pygame.display.set_mode((640, 480), 0, 32)
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            exit()
    screen.lock()
    for count in range(10):
        random_color = (randint(0,255), randint(0,255), randint(0,255))
        random_pos = (randint(0,639), randint(0,479))
        random_size = (639-randint(random_pos[0],639), 479-randint (random_pos[1],479))
        pygame.draw.rect(screen, random_color, Rect(random_pos, random_size))
        screen.unlock()
        pygame.display.update()

What am I doing wrong to make the pygame window not quit properly?

This is from a book.

Recommended Answers

All 2 Replies

I can't see the problem, and it's working good.

Maybe IDLE? Maybe version of the pygame you use?

Cheers and Happy coding

Try this

import pygame
from pygame.locals import *
from sys import exit
from random import *
pygame.init()
screen = pygame.display.set_mode((640, 480), 0, 32)
run = True
while run:
    for event in pygame.event.get():
        if event.type == QUIT:
            run = False # Exits the loop. Not sure if 'exit()' was defined
            break
    screen.lock()
    for count in range(10):
        random_color = (randint(0,255), randint(0,255), randint(0,255))
        random_pos = (randint(0,639), randint(0,479))
        random_size = (639-randint(random_pos[0],639), 479-randint (random_pos[1],479))
        pygame.draw.rect(screen, random_color, Rect(random_pos, random_size))
        screen.unlock()
        pygame.display.update()
pygame.quit() # Quits the window
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.