Design and Implementation of Computer Game (GUI) with dice simulator 2022-2023
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
MSc Coursework
Software and Systems
2022-2023
Design and Implementation of Computer Game (GUI) with dice simulator
1. Aims and Objectives
You are required to design and implement an object-oriented software for Snakes and Ladders Game, the board for which is shown below. You are required to use this board in your code.
Figure 1: Snakes and Ladders Board
Image courtesy:https://i.pinimg.com/originals/02/6e/9d/026e9d080dcfa13c158f043e874002e7.jpg
As part of the coursework, this game can be played between 1- 4 players. As a single player game, the player will play against the computer. You will also be required to design and program a dice rolling simulator which will run each time a player has their go.
Rules of Snakes and Ladders
1. Every player has a different coloured counter.
2. At the start of the game all the counters are on square 0 (off the board).
3. Each player takes turns in rolling a dice.
4. The player’s counter advances the number of squares shown on the dice.
5. If the counter finishes on the bottom of a ladder it moves to the top of the ladder.
6. If the counter finishes on the top of a snake it moves to the bottom of the snake.
7. If a player reaches square 100 they win.
8. If the current position plus the dice number exceeds 100, they don’t move (e.g. on square 98 – rolls a six – player doesn’t move).
2. Lab Work
Using the object oriented approach, design and implement the Snakes and Ladders Game with its own Dice rolling simulator as a Python application. The application should be able to create a GUI containing all widgets required to run the game smoothly. The application should have the following functionality:
1. Let the user choose the number of players playing (between 1 & 4).
2. Allow the Player to enter their name.
3. The application alerts all players that the game is starting, and that all counters should be placed on square 0 (off the board and invisible).
4. The application alerts everyone that it is ‘PlayerName’s’ turn. Nothing happens until ‘PlayerName’ presses the ‘roll dice’ button. The roll dice simulator generates the dice throw.
5. The application informs all of the players of the dice value and updated counter positions (taking into account all of the snakes and ladders).
6. This is repeated for all of the players until someone wins (gets to square 100).
7. Displays the winners name and asks the user to quit or play another game.
After creating your GUI with all the above widgets, you will then have to bind these to the functions to get your application working. Handle any exceptions that may arise during its use.
3. Assessment
This is a ‘small group’ coursework which contributes 60% of the total mark for Software and Systems module. You are expected to submit the following:
Design Report
Python program
2-minute video of your GUI when the game is being played.
The design report, python code (.py file) and the video must be submitted via canvas as three separate files in one go. Click on the + Add Another File link to add another ‘Choose File’ button while submitting your assignment. Only one submission per group should be made. Submission deadline is 14:00 on Friday, 16th December 2022.
Design Report:
The report must contain the relevant UML diagrams produced to design this game. Clearly the report must fully address all relevant issues. The assignment is open-ended but it is important that all diagrams of the design process are considered to a reasonable level of detail.
The figures, tables and pages should be numbered. Captions should be beneath figures and above tables. The report should not exceed 10 pages.
This assignment involves the development of designs on paper. It should be possible to draw good quality design diagrams using Word or other word processing package, adopting the correct notation. There is no need to use any Object-Oriented Design Tools. This is because learning curve associated with object-oriented design tools is normally steep. Many design consultants use graphical design programs and not object-oriented design tools to document designs. Two tools that you might find useful are Visio (might require licence) and ArgoUML.
The report must be submitted via canvas as one single pdf file.
Marks distribution will be as follows:
a) Introduction, which includes the discussion and interpretation of the specification, which should identify any issues that require clarification. (3 marks)
b) Use-Case Diagram, Survey description and CRC cards. (15 marks)
c) Detailed class diagram with all attributes, methods, their visibilities, arguments, return types and relationships to define architecture. (6 marks)
d) Detailed interaction diagrams, both collaboration and sequence diagram. (12 marks)
e) Detailed state chart diagram to show events, actions and qualifiers. (6 marks)
f) Discussion of non-functional requirements. (3 marks)
g) Discussion of any constraints limiting you to implement part(s) of your design (5 marks)
Python Program:
This should be the implementation of your design for the game. The classes, methods and attributes created during the design process should be used in implementation.
Marks distribution will be as follows:
a) The quality of programming- appropriate design of the code, use of classes, methods, attributes, reusability of code, etc.). (20 marks)
b) Game Functionality:
i. Rolling dice simulator (3 marks)
ii. Aspects of game play (8 marks)
iii. Video capturing implementation of game functionality (4 marks)
c) GUI design. (10 marks)
d) Well documented code. (5 marks)
A word of caution
“Plagiarism will not be tolerated. It is the act of a Student claiming as their own, intentionally or by omission, work which was not done by that Student. Plagiarism also includes a Student deliberately claiming to have done work submitted by the Student for assessment which was never undertaken by that Student, including self-plagiarism and the other breaches. Sanctions of a plagiarism include the Student failing the Programme ofstudy”.
2022-12-14