-
Notifications
You must be signed in to change notification settings - Fork 4
Home
Dario edited this page Sep 6, 2013
·
41 revisions
Welcome to the eiffel-sudoku wiki!
This is a small project to be developed as part of the DOSE course, in its 2013 edition. The project corresponds to the development of a Sudoku application in Eiffel, using Design by Contract.
The requirements document can be found here.
Design concerns can be found here.
Since various developers will be contributing to this project, special care must be taken:
- Always check which files/directories are being committed/pushed before committing/pushing to the repository.
- Do not commit/push into the repository if code does not compile.
- Define a branch at least for your team, to simplify merges.
- If you find an issue, first check whether it has been reported before.
- If issue does not exist, create a new issue, and try to provide appropriate labels for it.
- Give priority to unassigned issues. Think twice about taking issues that are already being taken care of.
- Provide a reasonable justification if you are reassigning an issue to another developer (even yourself).
- Start working on an issue only after you have reported you are responsible of it.
- Try to work with a small granularity (e.g., take a routine at a time, not a whole class).
- When you solved an issue, merge your solution with the master, and push/commit your changes, making sure the project compiles.
- Report that the issue has been solved, indicating the revision in which you solved it.
- Receive a number from the GUI then send it to Model
- Check, thanks to the model, if this value generates conflicts and updates GUI in consequence
- Check if sudoku is completed
- Update the GUI when creating a board
- SUDOKU_CONTROLLER
- Receive a number from the GUI then sends it to Model
- Checks if sudoku is completed
- Update the GUI when creating a board
- Put a nice sudoku grill on screen
- Propose various menus such as: New, Exit, Help...
- New : current sudoku is replace by a shiny new one
- Exit : a window appear and ask the user if he really want to quit
- About : a window appear with information about the program version
- Check if data entered in a cell is valid
- if valid then send it to controller
- if not valid reset cell and ask controller to reset a cell
- Provide the controller with update functions
- ABOUT_DIALOG
- ...
- ABOUT_NEW
- ...
- ABOUT_QUIT
- ...
- APPLICATION
- Prepare the first window to be displayed
- Connects the controller with graphical user interface
- CELL_TEXT_FIELD
- ...
- INTERFACE_NAMES
- Strings for the Graphical User Interface
- MAIN_WINDOW
- ...
- SUDOKU_BOARD
- Initialize the board
- Set it with random value (make a grill the player will have to solve)
- SUDOKU_CELL
- Value of the cell. When set, contains a valid value between 1 and 9
- Sets the cell with new_value
- SUDOKU_BOARD_TEST_SET
- ...
- ...
- SUDOKU_CELL_TEST_SET
- ...
- ...
- When i did a change in make_with_random_values I had to import a library (time), so now the seed of random change.