def main(): """ Main function """ parser = ArgumentParser() parser.add_argument("-x", "--horizontal", dest="width", default=3, type=int, help="Horizontal dimension (default=3)") parser.add_argument("-y", "--vertical", dest="height", default=3, type=int, help="Vertical dimension (default=3)") parser.add_argument("-k", "--kings", dest="king", default=0, type=int, help="Number of kings") parser.add_argument("-q", "--queens", dest="queen", default=0, type=int, help="Number of queens") parser.add_argument("-b", "--bishops", dest="bishop", default=0, type=int, help="Number of bishops") parser.add_argument("-r", "--rooks", dest="rook", default=0, type=int, help="Number of rooks") parser.add_argument("-n", "--knights", dest="knight", default=0, type=int, help="Number of knights") parser.add_argument("-p", "--print", dest="printsolutions", default=False, help="Print the solutions", action='store_true') args = parser.parse_args() if sum([args.king, args.queen, args.bishop, args.rook, args.knight]) == 0: print 'No chess pieces given. Nothing to do. Running the assignment!' assignment() else: print 'Chess pieces:' print '- Kings ' + str(args.king) print '- Queens ' + str(args.queen) print '- Bishops ' + str(args.bishop) print '- Rooks ' + str(args.rook) print '- Knights ' + str(args.knight) board = Board(args.width, args.height) pieces = {} pieces['king'] = args.king pieces['queen'] = args.queen pieces['bishop'] = args.bishop pieces['rook'] = args.rook pieces['knight'] = args.knight board.set_pieces(pieces) print 'Start', datetime.datetime.now() board.put_pieces() print 'End', datetime.datetime.now() print 'Found '+str(len(board.solutions))+ ' solutions' if args.printsolutions is True: board.print_solutions()
def assignment(): """ Assignment """ board = Board(5, 5) pieces = {} pieces['king'] = 2 pieces['queen'] = 2 pieces['bishop'] = 2 pieces['rook'] = 0 pieces['knight'] = 1 start = datetime.datetime.now() print 'Start', start board.set_pieces(pieces) board.put_pieces() end = datetime.datetime.now() print 'End', end print 'Duration', end-start print 'Found '+str(len(board.solutions))+ ' solutions' exit()