Software Project - Assignment 1 Programming for Engineers 2022/23
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
Software Project - Assignment 1
Programming for Engineers 2022/23 - MSc
[50% of total module marks]
Overview
This is an individual assignment worth 50% of your Programming for Engineers module marks.
The task is to create a computer program in C as per the guidelines below.
Problem description
The objective of this assignment is to apply basic programming skills to create a custom version of the well-known computer game Tic-Tac-Toe (https://en.wikipedia.org/wiki/Tic-tac-toe), which has been around since the early days of electronic computers.
Figure 1:
Console version
of a Tic-Tac-Toe
Board
The game is played in turns. On each turn, one player occupies a position on a quadratic board with their token (an X or an O). In the original game, the board has 3x3 positions (see Figure 1) and whoever manages to get three tokens in a row (horizontal, vertical, or diagonal) wins.
To get a clearer idea of the basic features and look of the game, as well as the nature of gameplay, you can play the original game here: https://playtictactoe.org/
Task
Use DevC++ to create a custom version of Tic-Tac-Toe that uses a 7x7 board instead of the traditional 3x3 and the winning condition change to four in a line. There is no need to program a sophisticated GUI – a simple command-line interface will suffice.
You should study in detail how the original game works and looks using the description and links above, as well as any other relevant sources you may find to inform your program design.
You should then draft a requirements specification for your software project, detailing what core elements of functionality are required to implement the game. You should also think about which other features may be included to deliver a good game experience (e.g., different game modes).
Marking criteria: Program
In this assignment, you are asked to deliver a complete product and demonstrate various skills starting from the design to the implementation stage.
That means you are not given any further details about the required components you need to develop, as finding these out is part of the requirements specification task. In general, you should consider that you are marked on the following aspects of your implementation:
1. Delivered a (working) Tic-Tac-Toe game on a 7x7 board, four in line win
2. Create player via player or player via computer
3. Quality of the code
4. Game features and visuals
5. Interactivity and user experience
As before, try to adhere to common software development conventions, such as making your code easy to read, choosing sensible identifiers for variables, indenting your code, and avoiding code duplication, where possible.
In the event that you fail to get your program to run, you could still get some marks for anything that may be considered part of a sensible approach or solution.
Marking criteria: Report
Your report is a very important element of the assessment to confirm that you have designed and written the program by yourself and understood the functionality implemented in it. There is a word limit of 2500 words (excluding Appendix). If any non-standard external libraries were used, please provide the files or links to the files with the submission.
Your report should contain the following parts:
1. Title page – Your candidate number and the title of your report / game.
2. Introduction – A brief explanation of how the game works in principle.
3. Requirements specification – a description of the objectives, and detailed requirements of your program (e.g., features, principal workings, and look & feel of the game)
4. Program description – An explanation of how your program logic works, in terms of the classes, data fields, and methods used.
5. Appendix (source code as text, for referencing from chapter 4)
Submission Requirements
Your submission is via Canvas and should include
- A single ZIP file containing
o Your C source code files
o Your report as PDF
Keep in mind that this is an individual assessment - the related University rules on plagiarism apply, and here in particular with respect to collusion with fellow students, impersonation, and plagiarising code from elsewhere (e.g., Websites).
Submission Deadline
Refer to your own Assessment Deadlines & Exam Timetable in Sussex Direct for submission details.
2022-11-17