import pygame
import time
from random import randint
pygame.init()
window = pygame.display.set_mode((500, 500))
window.fill((133, 202, 255))
clock = pygame.time.Clock()
#print(clock)
class Area():
def __init__(self, x, y, w, h, color):
self.rect = pygame.Rect(x, y, w, h)
self.fill_color = color
def color(self, new_color):
self.fill_color = new_color
def fill(self):
pygame.draw.rect(window, self.fill_color,self.rect)
def out_line(self, frame_color, thickness):
pygame.draw.rect(window, frame_color, self.rect, thickness)
def collidepoint(self,x,y):
return self.rect.collidepoint(x,y)
class Label(Area):
def set_text(self, text, f_size, text_color):
self.image = pygame.font.SysFont('verdana',f_size).render(text,1, text_color)
def draw(self,shift_x, shift_y):
self.fill()
window.blit(self.image,(self.rect.x+shift_x,self.rect.y+shift_y))
cards = []
x = 70
for i in range (4):
card = Label(x, 170,70, 100,(161, 252, 3))
card.out_line((252, 3, 44),10)
card.set_text('click',30,(0,0,0))
cards.append(card)
x += 100
wait = 0
points = 0
timelabel = Label(70,10,50,20,(133, 202, 255))
timelabel.set_text('Time',40,(0,0,0))
timelabel.draw(0,0)
time_number = Label(90,40,50,20,(133,202,255))
time_number.set_text('0',40,(0,0,0))
time_number.draw(0,0)
scorelabel = Label(380,10,50,20,(133,202,255))
scorelabel.set_text('Score',40,(0,0,0))
scorelabel.draw(0,0)
scoretext = Label(400,40,50,20,(133,202,255))
scoretext.set_text('0',40,(0,0,0))
scoretext.draw(0,0)
start_time = time.time()
cur_time = start_time
while True:
if wait == 0:
wait = 30
number = randint(0,3)
for i in range(4):
cards[i].color((161, 252, 3))
if i == number:
cards[i].draw(18, 30)
else:
cards[i].fill()
else:
wait-=1
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
x,y = event.pos
for i in range (4):
if cards [i].collidepoint(x,y):
if i == number:
cards[i].color((34, 117, 11))
points += 1
else:
cards[i].color((194, 19, 19))
points -= 1
cards[i].fill()
scoretext.set_text(str(points),40,(0,0,0))
scoretext.draw(0,0)
new_time = time.time()
if cur_time-new_time>= 1:
time_number.set_text(str(int(new_time-start_time)),40,(0,0,0))
time_number.draw(0,0)
cur_time=new_time
pygame.display.update()
clock.tick(60)