Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Classes and for loops
#2
Now more random, you need 10 Rect() (not only one):

import pygame
import random
# Define some colors
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
RED   = (255, 0, 0)
 
class Rect():
    def __init__(self):
        self.rectXPos = 0
        self.rectYPos = 0
        self.height   = 0
        self.width    = 0
 
        self.changeX = 0
        self.changeY = 0
        self.x = 0
        self.y = 0
 
    def move(self):
        self.x += self.changeX
        self.y += self.changeY
 
    def draw(self,screen):
        pygame.draw.rect(screen,RED,[self.x + self.rectXPos, self.y + self.rectYPos, self.height,self.width])

# main
pygame.init()
size   = (700, 500)
screen = pygame.display.set_mode(size)
pygame.display.set_caption("My Game")
 
myList = [ ]
for i in range(10):
    rect = Rect()
    rect.rectXPos = random.randrange(0,700)
    rect.rectYPos = random.randrange(0,500)
    rect.height   = random.randrange(20,70)
    rect.width    = random.randrange(20,70)
    rect.changeX  = random.randrange(-3,3)
    rect.changeY  = random.randrange(-3,3)
    myList.append(rect)
 
clock = pygame.time.Clock()
done  = False
while not done:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            done = True

    screen.fill(WHITE)
    for rect in myList:
        rect.draw(screen)
        rect.move()

    pygame.display.flip()
    clock.tick(60)
 
# Close the window and quit.
pygame.quit()
Reply


Messages In This Thread
Classes and for loops - by LessInformation - Nov-01-2017, 08:50 AM
RE: Classes and for loops - by heiner55 - Nov-01-2017, 04:16 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Using classes? Can I just use classes to structure code? muteboy 5 5,065 Nov-01-2017, 04:20 PM
Last Post: metulburr

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020