{"id":45,"date":"2006-06-29T00:24:17","date_gmt":"2006-06-28T23:24:17","guid":{"rendered":"http:\/\/blogs.igalia.com\/eocanha\/?p=45"},"modified":"2015-11-08T00:21:15","modified_gmt":"2015-11-07T23:21:15","slug":"working-on-neosudoku","status":"publish","type":"post","link":"https:\/\/eocanha.org\/blog\/2006\/06\/29\/working-on-neosudoku\/","title":{"rendered":"Working on NeoSudoku"},"content":{"rendered":"<p>This is the current J2ME\/MIDP project I&#8217;ve been working on at my spare time since the past weekend: An implementation of the known game Sudoku.<\/p>\n<p>It&#8217;s not published yet, because I want to enhance it a bit more and at this moment it contains some sudokus borrowed from a copyrighted book, so publishing wouldn&#8217;t be a good idea&#8230;<br \/>\nCurrently the project is at version 1.1, having the following features:<\/p>\n<ul>\n<li>Complete implementation of the game rules, with detection of illegal number placement and end of game. The game is playable.<\/li>\n<li>Several pre-stored sudokus can be chosen for playing.<\/li>\n<li>Special hints available:<\/li>\n<ul>\n<li>List of available values that can be put into a square.<\/li>\n<li>Board map showing the number of values eligible to be put on each square (good to detect the squares that can only be filled with one single value).<\/li>\n<\/ul>\n<li>Special solvind tools avaliable:<\/li>\n<ul>\n<li>&#8220;Reduce&#8221; tool, that detects all free squares with only one possible value, fills them and repeats the process until no more of such squares are remaining.<\/li>\n<li>Limited &#8220;solve&#8221; tool, that tries to solve the sudoku using a backtracking algorithm. Unfortunately, the phone goes out of memory very soon, so this tool is very poor. I&#8217;m working to optimize this algorithm in order to enhace the decission path and to lower the memory footprint of the &#8220;context&#8221; of each step.<\/li>\n<\/ul>\n<li>Tested on Nokia 3100 and Sony Ericsson T630.<\/li>\n<\/ul>\n<p>From now on, I would like to enhance the following points to reach version 1.2:<\/p>\n<ul>\n<li>Optimize the solving algorithm until it&#8217;s useful.<\/li>\n<li>Write a sudoku editor and give the user the ability to store input sudokus into RMS memory (resource management system) on the phone.<\/li>\n<li>Make possible for the user to push and pop the current game state on a stack, to do backtracking by hand.<\/li>\n<\/ul>\n<p>And now, enjoy some screenshots. I&#8217;ll keep you informed. Stay tuned&#8230;<\/p>\n<p><img alt=\"NeoSudoku1.png\" src=\"\/blog\/wp-content\/uploads\/2006\/06\/NeoSudoku11.png\" \/>  <img alt=\"NeoSudoku2.png\" src=\"\/blog\/wp-content\/uploads\/2006\/06\/NeoSudoku21.png\" \/>  <img alt=\"NeoSudoku3.png\" src=\"\/blog\/wp-content\/uploads\/2006\/06\/NeoSudoku31.png\" \/>  <img alt=\"NeoSudoku4.png\" src=\"\/blog\/wp-content\/uploads\/2006\/06\/NeoSudoku41.png\" \/>  <img alt=\"NeoSudoku5.png\" src=\"\/blog\/wp-content\/uploads\/2006\/06\/NeoSudoku51.png\" \/>  <img alt=\"NeoSudoku6.png\" src=\"\/blog\/wp-content\/uploads\/2006\/06\/NeoSudoku61.png\" \/>  <img alt=\"NeoSudoku7.png\" src=\"\/blog\/wp-content\/uploads\/2006\/06\/NeoSudoku71.png\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is the current J2ME\/MIDP project I&#8217;ve been working on at my spare time since the past weekend: An implementation of the known game Sudoku. It&#8217;s not published yet, because I want to enhance it a bit more and at this moment it contains some sudokus borrowed from a copyrighted book, so publishing wouldn&#8217;t be &hellip; <a href=\"https:\/\/eocanha.org\/blog\/2006\/06\/29\/working-on-neosudoku\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Working on NeoSudoku<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"https:\/\/eocanha.org\/blog\/wp-json\/wp\/v2\/posts\/45"}],"collection":[{"href":"https:\/\/eocanha.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eocanha.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eocanha.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eocanha.org\/blog\/wp-json\/wp\/v2\/comments?post=45"}],"version-history":[{"count":1,"href":"https:\/\/eocanha.org\/blog\/wp-json\/wp\/v2\/posts\/45\/revisions"}],"predecessor-version":[{"id":451,"href":"https:\/\/eocanha.org\/blog\/wp-json\/wp\/v2\/posts\/45\/revisions\/451"}],"wp:attachment":[{"href":"https:\/\/eocanha.org\/blog\/wp-json\/wp\/v2\/media?parent=45"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eocanha.org\/blog\/wp-json\/wp\/v2\/categories?post=45"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eocanha.org\/blog\/wp-json\/wp\/v2\/tags?post=45"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}