from graphics import *

def drawBedroom(win, data):
    for row in range(12):
        for col in range(16):
            text = Text(Point(30+col*40, 30+row*40), round(data[row][col], 0))
            text.setTextColor("white")
            rect = Rectangle(Point(10+col*40, 10+row*40), Point(10+col*40+40, 10+row*40+40) )
            if data[row][col] > 60:
                rect.setFill("red")
            elif data[row][col] > 50:
                rect.setFill("yellow")
                text.setTextColor("black")
            else:
                rect.setFill("blue")
            rect.draw(win)
            text.draw(win)


# Make an empty bedroom
data = []
for row in range(0,12):
    data.append([0]*16)
print(data)

# Walls!
for row in range(0,12):
    data[row][0] = 40
    data[row][15] = 72
for col in range(0,16):
    data[0][col] = 72
    data[11][col] = 40

for t in range(100):
    for row in range(1,11):
        for col in range(1, 15):
            if row == 4 and col == 3:
                data[row][col] = 100
            elif row==10 and col==12:
                data[row][col] = 0
            else:
                data[row][col] = 0.25*(data[row-1][col]+data[row+1][col]+data[row][col-1]+data[row][col+1])

win = GraphWin("My Bedroom", 800,600)
drawBedroom(win, data)
win.getMouse()

