Newer
Older
'''Block object which will be used in a corsi-blocks test'''
#pygame is the library for drawing
import pygame
'''Block class defines the main functions that can be done with the block'''
#Constructor to initiate a block (square)
#x and y -- coordinates of the top left corner
#length -- the length of one side of the square
#pressed -- is the boolean variable for detecting whether a user clicked on the block
#ID -- the id of the block
def __init__(self, x, y, length, pressed, ID):
self.x_coord = x
self.y_coord = y
def draw_block(self, screen):
'''function for drawing a block with initialized parameters'''
if self.pressed:
pygame.draw.rect(screen, (169,169,169),
(self.x_coord, self.y_coord, self.length, self.length),0)
else:
pygame.draw.rect(screen, (0, 0, 0),
(self.x_coord, self.y_coord, self.length, self.length),0)
def clicked(self, screen, event):
'''function for detecting whether a user has pressed on the block'''
if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
coord_x, coord_y = pygame.mouse.get_pos()
if coord_x >= self.x_coord and coord_x <= self.x_coord + self.length and coord_y >= self.y_coord and coord_y <= self.y_coord + self.length:
self.pressed = True
def draw_computer(self, screen):
'''function for the computer to show the user the pattern'''
self.pressed = True
self.draw_block(screen)
#this class will be tested, thus, we need this main method
#as it sets the environment where we are going to test
def main():
'''This is MAAAAIN'''
pygame.init()
width = 1000
height = 800
pygame.display.set_mode((width, height))
screen = pygame.display.get_surface()
screen.fill((255,255,255))
#block1.draw_block(screen)
#pygame.display.update()
#checking and updating the color when the block is clicked
for event in pygame.event.get():
if event.type == pygame.QUIT:
block1.clicked(screen, event)
pygame.display.update()
#class functions testing
if __name__ == '__main__':
main()