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

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.