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)
|