Skip to content

dtsudo/DT-Sudoku

Repository files navigation

DT Sudoku implements the sudoku puzzle.  It was written to be a "Hello World" exercise in drawing objects and seeing how to render graphics onto the screen.

How to execute the program:

	Run "DT Sudoku.exe".

Licensing:

	The source code of DT Sudoku (the contents under the "Source code" folder) is licensed under the MIT license.  However, note that it uses dependencies and other assets that are licensed under different licenses.

	The code uses the AgateLib library for rendering graphics.  Agatelib is licensed under the Mozilla Public License version 1.1.  See https://github.com/eylvisaker/AgateLib for more details about the AgateLib library.  The AgateLib source code is located under /Dependencies/AgateLib.

	The font used in the images was generated by metaflop.  (See http://www.metaflop.com/modulator for more details about metaflop.)  As the website notes: "All outline-based fonts (webfonts or otf) that are generated with this project are licensed under the SIL Open Font License v1.1 (OFL). This means that you can freely use and extend the fonts and also use them commercially. Any derivative work has to be made freely available under the same license."

Files and folder structure:

	In the root folder, we have "DT Sudoku.exe", which is the actual executable.  This readme file ("readme.txt") and a copy of the MIT license ("MIT license.txt") are also present.
	
	There are also several libraries used by "DT Sudoku.exe":
	* AgateLib.dll
	* AgateLib.WinForms.dll
	* AgateLib.WinForms.xml
	* AgateLib.xml
	* AgateOTK.dll
	* DTLib.dll
	* DTSudokuLib.dll
	* OpenTK.dll
	* Sudoku.dll
	
	In the "Data" folder, there's another folder ("Images") containing the images used by the program.
	
	The "Source code" folder contains the source code.
	
	The "Dependencies" folder contains the third-party libraries used; in this case, this is just AgateLib.

How to compile the source code:

	The source code is divided into several distinct parts:
	*	Sudoku
	*	DTLib
	*	DTSudokuLib
	*	DTSudoku
	
	The "/Source code/Sudoku" folder contains the code that implements the sudoku puzzle.  It has a sudoku puzzle generator and a sudoku puzzle solver.  Note that these files don't contain any UI code.  Compile the files in this folder using the C# compiler (csc.exe):
	
		csc /target:library /out:Sudoku.dll ".\Source code\Sudoku\*.cs"
	
	The "/Source code/DTLib" folder contains the code for rendering the UI (e.g. handling keyboard/mouse inputs, rendering images to the screen).  Note that these files are generic and are not specific to sudoku.  Compile these files:
	
		csc /target:library /out:DTLib.dll ".\Source code\DTLib\*.cs"
	
	The "/Source code/DTSudokuLib" folder contains the code that handles the UI for the sudoku puzzle.  It uses Sudoku.dll in order to handle the sudoku logic, and it also uses DTLib.dll in order to handle the UI elements.  Compile these files:
	
		csc /target:library /out:DTSudokuLib.dll /reference:Sudoku.dll /reference:DTLib.dll ".\Source code\DTSudokuLib\*.cs"
	
	Finally, the "/Source code/DTSudoku" folder contains the code that uses AgateLib, along with DTSudokuLib, to implement the actual program.  Compile these files:
	
		csc /target:winexe /out:"DT Sudoku.exe" /reference:Sudoku.dll /reference:DTLib.dll /reference:DTSudokuLib.dll /reference:AgateLib.dll ".\Source code\DTSudoku\*.cs"
	
	Note that AgateLib requires several files in order to work; ensure that the following files are also present (these files are part of the AgateLib library):
	* AgateLib.dll
	* AgateLib.WinForms.dll
	* AgateLib.WinForms.xml
	* AgateLib.xml
	* AgateOTK.dll
	* OpenTK.dll

About

An implementation of sudoku

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages