From: John L. <jr...@us...> - 2007-01-04 23:28:10
|
Update of /cvsroot/wxlua/wxLua/samples In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv7567/wxLua/samples Modified Files: wxluasudoku.wx.lua Log Message: wxDisplay::GetClientSize not in 2.6 a little speedup in wxluasudoku.wx.lua Index: wxluasudoku.wx.lua =================================================================== RCS file: /cvsroot/wxlua/wxLua/samples/wxluasudoku.wx.lua,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** wxluasudoku.wx.lua 21 Dec 2006 20:14:21 -0000 1.60 --- wxluasudoku.wx.lua 4 Jan 2007 23:28:05 -0000 1.61 *************** *** 640,649 **** function sudoku.RemovePossibleAll(row, col, value, sudokuTable, exceptTable, break_if_empty) exceptTable = exceptTable or {} ! local cell local block_cell = sudoku.BlockToCell(sudoku.RowColToBlock(row, col)) - break_empty = break_empty or false for rcb = 1, 9 do ! cell = sudoku.RowColToCell(rcb, col) if (not exceptTable[cell]) and sudokuTable.possible[cell][value] then sudokuTable.possible[cell][value] = nil --- 640,648 ---- function sudoku.RemovePossibleAll(row, col, value, sudokuTable, exceptTable, break_if_empty) exceptTable = exceptTable or {} ! break_if_empty = break_if_empty or false local block_cell = sudoku.BlockToCell(sudoku.RowColToBlock(row, col)) for rcb = 1, 9 do ! local cell = sudoku.RowColToCell(rcb, col) if (not exceptTable[cell]) and sudokuTable.possible[cell][value] then sudokuTable.possible[cell][value] = nil *************** *** 1297,1304 **** while cell <= 81 do if not sudoku.HasCellValue(cell, s) then - local row, col = sudoku.CellToRowCol(cell) local possible = sudoku.GetCellPossible(cell, s) ! --for k, v in pairs(possible) do for n = 1, 9 do local k = n --- 1296,1302 ---- while cell <= 81 do if not sudoku.HasCellValue(cell, s) then local possible = sudoku.GetCellPossible(cell, s) ! --for k, v in pairs(possible) do -- use for loop to ensure direction for n = 1, 9 do local k = n *************** *** 1308,1316 **** s = sudoku.RemoveCellPossible(cell, k, s) local s1 = TableCopy(s) -- don't use SetValue since we only care about possible s1.values[cell] = k --sudoku.SetValue(row, col, k, s1) ! ! -- start a new table and test out this guess w/ new table s1 = sudoku.RemovePossibleAll(row, col, k, s1, nil, true) --- 1306,1314 ---- s = sudoku.RemoveCellPossible(cell, k, s) + -- start a new table and test out this guess local s1 = TableCopy(s) -- don't use SetValue since we only care about possible s1.values[cell] = k --sudoku.SetValue(row, col, k, s1) ! local row, col = sudoku.CellToRowCol(cell) s1 = sudoku.RemovePossibleAll(row, col, k, s1, nil, true) *************** *** 1318,1321 **** --- 1316,1320 ---- guesses.current = guesses.current + 1 + -- check for nil return from RemovePossibleAll for break_if_empty if s1 then s1, g = sudoku.DoSolveBruteForce(sudokuTable, backwards, s1, guesses, cell+1) |