Добрый день. Осваиваю pygame. В данном коде есть статичный блок и тот которым можно управлять. У меня получилось реализовать следующую механику - при соприкосновении блоков статичный блок удаляется.
Хотелось бы понять, как можно сделать так, чтобы при соприкосновении блоков, статичный блок менял цвет с красного на зеленый, а при повторном соприкосновении с зеленого, ну например на желтый.
	
	
	
		
			
			Хотелось бы понять, как можно сделать так, чтобы при соприкосновении блоков, статичный блок менял цвет с красного на зеленый, а при повторном соприкосновении с зеленого, ну например на желтый.
		Код:
	
	import pygame
pygame.init()
WIDTH, HEIGHT = 800, 600
FPS = 60
TILE = 50
window = pygame.display.set_mode((WIDTH, HEIGHT))
clock = pygame.time.Clock()
DIRECTS = [[0, -1], [1, 0], [0, 1], [-1, 0]]
class BlockGo:
    def __init__(self, color, px, py, direct, keyList, damage):
        objects.append(self)
        self.type = 'blockgo'
        self.color = color
        self.rect = pygame.Rect(px, py, TILE, TILE)
        self.direct = direct  # направление
        self.moveSpeed = 2
        self.damage = damage
        self.keyLEFT = keyList[0]
        self.keyRIGHT = keyList[1]
        self.keyUP = keyList[2]
        self.keyDOWN = keyList[3]
    def update(self):
        oldX, oldY = self.rect.topleft
        if keys[self.keyLEFT]:
            self.rect.x -= self.moveSpeed
            self.direct = 3
        elif keys[self.keyRIGHT]:
            self.rect.x += self.moveSpeed
            self.direct = 1
        elif keys[self.keyUP]:
            self.rect.y -= self.moveSpeed
            self.direct = 0
        elif keys[self.keyDOWN]:
            self.rect.y += self.moveSpeed
            self.direct = 2
        for obj in objects:
            if obj != self and self.rect.colliderect(obj.rect):
                self.rect.topleft = oldX, oldY
        for objcr in objectscrash:
            if self.rect.colliderect(objcr.rect):
                objectscrash.remove(objcr.rect)
    def draw(self):
        pygame.draw.rect(window, self.color, self.rect)
        x = self.rect.centerx + DIRECTS[self.direct][0] * 30
        y = self.rect.centerx + DIRECTS[self.direct][0] * 30
class Block:
    def __init__(self, color, px, py, size):
        objectscrash.append(self)
        self.type = 'block'
        self.color = color
        self.rect = pygame.Rect(px, py, size, size)
    def update(self):
        pass
    def draw(self):
        pygame.draw.rect(window, self.color, self.rect)
objectscrash = []
objects = []
BlockGo('blue', 100, 275, 0, (pygame.K_a, pygame.K_d, pygame.K_w, pygame.K_s), 1)
Block('red', 200, 100, TILE)
play = True
while play:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            play = False
    keys = pygame.key.get_pressed()
    for objcr in objectscrash: objcr.update()
    for obj in objects: obj.update()
    window.fill('black')
    for objcr in objectscrash: objcr.draw()
    for obj in objects: obj.draw()
    pygame.display.update()
    clock.tick(FPS)
pygame.quit()