Most of the operational code able to be abstracted to a block of C++.I still standby this method of generating cross-platform applications. Worked on to produce the various images necessary for the program. This can be displayed in Windows and Linux. The image of the Sudoku uses an uncompressed bitmap file in Windows BMP file format. The functions are added to the GUI code directly. In Linux, I use Glade to develop the GUI and associated code. The functions are provided by compiling the C++ core to a managed assembly DLL. In Windows, I still use the Visual Basic IDE to provide the GUI. It is used only to call the functions in the core C++ program.
The GUI interface needs only some buttons, an image box, and mouse position. I abstracted the program to a series of functions which can be interfaced to the native GUI toolkits. My approach received much criticism as the “same code” could not be compiled directly into a platform application. I documented this in a previous article: cross_platform.aspx. To allow the code to execute successfully on Windows and Linux, I decided to use the portability of the C++ language. I wrote the original code for my Sudoku program using Visual Basic on Microsoft's Visual Studio IDE.