def main(parent=None): root = Tk() root.geometry("1366x700") root.configure(bg="white") dice = Dice() game_divider = Divider( root) # will occupy left of main window, contains monopoly board interface_divider = Divider( root, dice) # will occupy right of main window, contains controls and info game_divider.pack(side=LEFT) interface_divider.pack(side=BOTTOM) board_dim = 700 #this is the side dimension for the monopoly board e.g. 600 x 600 square img_path = "centre_img.png" #initialise board values #p_colours = ["magenta", "cyan", "black", "green"] pawns = {} #for i in range(0, 4): # pawns.append(Pawn(i, 0, p_colours[i])) tiles = [] tiles.append(Tile(0, 'go', 'Go')) tiles.append(Tile(1, 'property', 'Nubar', 'brown', '60')) tiles.append(Tile(2, 'community_chest', 'C. Chest')) tiles.append(Tile(3, 'property', 'Larkfield', 'brown', '60')) tiles.append(Tile(4, 'tax', 'Inc. Tax', None, '200')) tiles.append(Tile(5, 'transport', 'Helix Bus Stop', None, '200')) tiles.append(Tile(6, 'property', 'Business School', 'cyan', '100')) tiles.append(Tile(7, 'chance', 'Chance')) tiles.append(Tile(8, 'property', 'Henry Grattan', 'cyan', '100')) tiles.append(Tile(9, 'property', 'T. Larkin Theatre', 'cyan', '100')) tiles.append(Tile(10, 'jail', 'Jail')) tiles.append(Tile(11, 'property', 'DCU Canteen', 'magenta', '140')) tiles.append(Tile(12, 'transport', 'DCU Library', None, '150')) tiles.append(Tile(13, 'property', 'Interfaith', 'magenta', '140')) tiles.append(Tile(14, 'property', 'Albert College', 'magenta', '160')) tiles.append(Tile(15, 'transport', 'St Pats Bus Stop', None, '200')) tiles.append(Tile(16, 'property', 'Nursing', 'orange', '180')) tiles.append(Tile(17, 'community_chest', 'C. Chest')) tiles.append(Tile(18, 'property', 'Lonsdale', 'orange', '180')) tiles.append(Tile(19, 'property', 'Estates Office', 'orange', '200')) tiles.append(Tile(20, 'free_parking', 'Free Parking')) tiles.append(Tile(21, 'property', 'Londis', 'red', '220')) tiles.append(Tile(22, 'chance', 'Chance')) tiles.append(Tile(23, 'property', 'The U', 'red', '220')) tiles.append(Tile(24, 'property', 'Hampstead', 'red', '240')) tiles.append(Tile(25, 'transport', 'Ballymun Bus Stop', None, '200')) tiles.append(Tile(26, 'property', 'Purcell House', 'yellow', '260')) tiles.append(Tile(27, 'transport', 'DCU Sport', None, '150')) tiles.append(Tile(28, 'property', 'All Hallows', 'yellow', '260')) tiles.append(Tile(29, 'property', 'St Pats', 'yellow', '280')) tiles.append(Tile(30, 'goto_jail', 'Go To Jail!')) tiles.append(Tile(31, 'property', 'Stokes', 'green', '300')) tiles.append(Tile(32, 'property', 'Campus Store', 'green', '300')) tiles.append(Tile(33, 'community_chest', 'C. Chest')) tiles.append(Tile(34, 'property', 'The Helix', 'green', '320')) tiles.append(Tile(35, 'transport', 'Collins Av Bus Stop', None, '200')) tiles.append(Tile(36, 'chance', 'Chance')) tiles.append(Tile(37, 'property', 'McNulty Build.', 'blue', '350')) tiles.append(Tile(38, 'tax', 'Super Tax', None, '100')) tiles.append(Tile(39, 'property', 'College Park', 'blue', '400')) board_frame = BoardDisplay(game_divider, board_dim, board_dim, img_path, tiles, pawns) #interface_divider = parent, board_frame = internal reference of board for using commands on controls_frame = Controls(interface_divider, board_frame, parent) parent.ui_controls = controls_frame parent.ui_root = root information_frame = Information(interface_divider) parent.ui_ready = True root.mainloop()