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  PlayerNames 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.