Example #1
0
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."