GAME OF squared grid
Budget: €8 – €30 EUR
SUMMARY
1 PROJECT OVERVIEW 3
2 FUNCTIONAL EXPRESSION 3
2.1 THE GAME 3
2.2 FEATURES TO IMPLEMENT 4
2.2.1 Menu 4
2.2.2 Difficulty Level 4
2.2.3 Creation of the Grid 4
2.2.4 Graphic Rendering 4
2.2.5 Rewind 5
2.2.6 Hint 5
2.2.7 Mistakes 5
2.2.8 End of the Game 5
3 DELIVERABLES 6
1 PROJECT OVERVIEW
Howard interactive is specialized in video games adaptation of classic board games, for various platforms. They currently have several games in their catalog such as go, mastermind and chess.
Howard interactive wants to take on a new challenge with “Takuzu”, a rather complex game for one player. According to Wikipedia, this game is a “logic-based number placement puzzle”.
You have been personally chosen among several subcontractors to do the development. You’re free to use either Python (with Tkinter or Pygame) or C (with SDL) for the development.
2 FUNCTIONAL EXPRESSION
2.1 THE GAME
The goal of this single player game is to fill a squared grid with 0s and 1s. The game starts with an unsolved grid like that:
The player has to complete the grid following only three rules:
• Each row and column contain an equal number of 0s and 1s.
• There is no identical row or column.
• There are no more than two identical numbers adjacent to each other.
For the previous example, the solved grid is:
2.2 FEATURES TO IMPLEMENT
Your implementation of the game must provide the following features:
• Menu
• Difficulty levels.
• Creation of the grid.
• Graphic rendering
• Rewind.
• Hint.
• Mistakes.
• End of game.
All interactions must be done with a GUI.
2.2.1 MENU
The player should be able to choose between read the rules or start the game.
2.2.2 DIFFICULTY LEVEL
The player should be able to choose the grid size between 4, 6, 8 or 10.
2.2.3 CREATION OF THE GRID
The CPU creates a (solved) grid of the chosen size. This grid must follow the three rules exposed in the section 2.1.
You must develop an algorithm that generates randomly correct grids. You must not use hard- coded grids.
The CPU hides some cells to obtain an unsolved grid which is resolvable.
2.2.4 GRAPHIC RENDERING
The grid should appear with a white background, and the 1s and 0s should be represented by red and blue cells. So, the unsolved grid of the previous example will look like this:
To color a cell, the player has to do one click for the red color, two clicks for the blue, and three to discolor.
So, at the end of the game the grid will look like this:
2.2.5 REWIND
At any time, the player can cancel his last moves with a LIFO order.
2.2.6 HINT
At any time, the player can ask the CPU for a hint. It indicates a move which is necessarily exact.
2.2.7 MISTAKES
When the player makes a huge mistake, for example fill a row with more blue cells than red cells, the CPU reports it to the player.
2.2.8 END OF THE GAME
When the grid is completely filled, the CPU congratulates the player and asks him if he wants to play again.
3 DELIVERABLES
Students should include the following elements in their final delivery:
• A zip archive with the project source code. The source code must also come with the build system used (Project file, auto-tools...), if any.
• Project documentation:
o Technical documentation explaining your choices and/or implementation choices/details on the following items (at least):
Graphic engine
Algorithmic choices for the grid generation, hint, mistake and victory.
o Game manual
1 PROJECT OVERVIEW 3
2 FUNCTIONAL EXPRESSION 3
2.1 THE GAME 3
2.2 FEATURES TO IMPLEMENT 4
2.2.1 Menu 4
2.2.2 Difficulty Level 4
2.2.3 Creation of the Grid 4
2.2.4 Graphic Rendering 4
2.2.5 Rewind 5
2.2.6 Hint 5
2.2.7 Mistakes 5
2.2.8 End of the Game 5
3 DELIVERABLES 6
1 PROJECT OVERVIEW
Howard interactive is specialized in video games adaptation of classic board games, for various platforms. They currently have several games in their catalog such as go, mastermind and chess.
Howard interactive wants to take on a new challenge with “Takuzu”, a rather complex game for one player. According to Wikipedia, this game is a “logic-based number placement puzzle”.
You have been personally chosen among several subcontractors to do the development. You’re free to use either Python (with Tkinter or Pygame) or C (with SDL) for the development.
2 FUNCTIONAL EXPRESSION
2.1 THE GAME
The goal of this single player game is to fill a squared grid with 0s and 1s. The game starts with an unsolved grid like that:
The player has to complete the grid following only three rules:
• Each row and column contain an equal number of 0s and 1s.
• There is no identical row or column.
• There are no more than two identical numbers adjacent to each other.
For the previous example, the solved grid is:
2.2 FEATURES TO IMPLEMENT
Your implementation of the game must provide the following features:
• Menu
• Difficulty levels.
• Creation of the grid.
• Graphic rendering
• Rewind.
• Hint.
• Mistakes.
• End of game.
All interactions must be done with a GUI.
2.2.1 MENU
The player should be able to choose between read the rules or start the game.
2.2.2 DIFFICULTY LEVEL
The player should be able to choose the grid size between 4, 6, 8 or 10.
2.2.3 CREATION OF THE GRID
The CPU creates a (solved) grid of the chosen size. This grid must follow the three rules exposed in the section 2.1.
You must develop an algorithm that generates randomly correct grids. You must not use hard- coded grids.
The CPU hides some cells to obtain an unsolved grid which is resolvable.
2.2.4 GRAPHIC RENDERING
The grid should appear with a white background, and the 1s and 0s should be represented by red and blue cells. So, the unsolved grid of the previous example will look like this:
To color a cell, the player has to do one click for the red color, two clicks for the blue, and three to discolor.
So, at the end of the game the grid will look like this:
2.2.5 REWIND
At any time, the player can cancel his last moves with a LIFO order.
2.2.6 HINT
At any time, the player can ask the CPU for a hint. It indicates a move which is necessarily exact.
2.2.7 MISTAKES
When the player makes a huge mistake, for example fill a row with more blue cells than red cells, the CPU reports it to the player.
2.2.8 END OF THE GAME
When the grid is completely filled, the CPU congratulates the player and asks him if he wants to play again.
3 DELIVERABLES
Students should include the following elements in their final delivery:
• A zip archive with the project source code. The source code must also come with the build system used (Project file, auto-tools...), if any.
• Project documentation:
o Technical documentation explaining your choices and/or implementation choices/details on the following items (at least):
Graphic engine
Algorithmic choices for the grid generation, hint, mistake and victory.
o Game manual