def main(): complete=False count=0 itercount=0 while complete==False and count<=10: Sudoku_validCheck.validChecker(Sudoku_board.board.tileList()) if Sudoku_validCheck.validSetter(Sudoku_board.board.tileList())==True: count-=1 for item in Sudoku_board.board.tileList(): if Sudoku_eliminationTest.elimination(item) !=-1: # print Sudoku_eliminationTest.elimination(item) # count-=1 BUG? item.setValue(Sudoku_eliminationTest.elimination(item)) # Sudoku_validCheck.validCheck(Sudoku_eliminationTest.getAllNeighbourTiles(item)) #To update the valid and invalid tiles after a change has been made. Sudoku_validCheck.validCheck(Sudoku_board.board.tileList()) #If things are happening, continue this thread. # Sudoku_view.view() # print if isComplete()==True: Sudoku_view.view() complete=True return True # if continues()==False: # return count+=1 itercount+=1 # Sudoku_view.view() # print return "Couldn't find a solution in "+str(itercount)+" iterations."