# puzzle15_part2.py
# Program that simulates a 15 Puzzle game

from graphics import *

def main():
        filename = raw_input("Input name of puzzle file: ")
        window = GraphWin("Puzzle 15", 200, 200)
        board = initialize_board(filename)
        display_numbers(window,board)
        game_over = False
        while game_over == False:
                p = window.getMouse()
                col = p.getX()/50     # compute column where player clicked
                row = p.getY()/50     # compute row where player clicked
                update_board(board, row, col)
                display_numbers(window,board)
                game_over = check_for_winner(board)
        message = Text(Point(100,100),"GAME OVER")
        message.setSize(24)
        message.setTextColor("orange")
        message.draw(window)
        raw_input("Press ENTER to quit.")
        window.close()

def initialize_board(filename):
        infile = open(filename, "r")
        board = []
        for i in range(4):
                board.append([]) 
        for row in range(4):
                for col in range(4):
                        columnvalue = eval(infile.readline())
                        board[row].append(columnvalue)
        return board

def display_numbers(window,board):
        for row in range(4):
                for col in range(4):
                        square = Rectangle(Point(col*50,row*50),Point((col+1)*50, (row+1)*50))
                        square.setFill("white")
                        square.draw(window)
                        if board[row][col] != 0:
                                center = Point(col*50+25,row*50+25)
                                number = Text(center, board[row][col])
                                number.setSize(24)
                                number.setTextColor("purple")
                                number.draw(window)

def update_board(board, row, col):
	return 		#remove this line when you complete this function

def check_for_winner(board):
	return False	#remove this line when you complete this function

main()
