程序代写 It is recommended that you use DevC++ for development and include a compile

It is recommended that you use DevC++ for development and include a compiled executable file in your source code submission. Please read these instructions very carefully before you start.

Golden Goal – Description

Copyright By PowCoder代写 加微信 powcoder

The objective of this assignment is to create a simple made-up football game from scratch. There is
no requirement to create a sophisticated GUI – a simple command-line interface will suffice.
For the purposes of this assignment, it will be sufficient to implement the basic game logic, process user inputs, and produce some sensible (text- and symbol-based) output of the current game state. The game is called “Golden Goal” and a partial emulation of a football match with only two players for simplicity. The aim is for the players to be the first to score a goal, which will end the game (hence the name: Golden Goal). Simply put: the player who scores first, wins.
The football field is segmented into 15 zones, each of which has a definitive coordinate indicating its position on the playing field, e.g., {2,1}. See Figure 1 below for details.

Figure 1: The playing field of “Golden Goal”

Page | 1 of 5

Basic rules

Player1 always plays from left-to-right, trying to score a goal on the right at {4,1}) and
Player2 always plays from right-to-left with the objective to score a goal on the left at {0,1}.
Location {2,1} is the centre of the field. When the game starts, the player who begins will be at this coordinate together with the ball. The other player will be guarding their own goal at coordinate {0,1} if they are Player1 or coordinate {4,1} if they are Player2. Players take turns in their actions and the game should ask a player what to do (see below).

The game proceeds as follows. A player has two possible actions, depending on where the ball is: they can
1) move across the field (including diagonally) by one position per turn (e.g., from {1.1} to
{2.1}). If the player shares a location with the ball, they will take the ball with them to the new location.
2) If a player is at a location together with the ball and it is the player’s turn, they can choose not to move any further but kick the ball to a random new location FORWARD of their current position (towards the opponent’s goal).
So, for instance, when the game starts and the ball is at location {2.1} together with Player1, possible locations for the ball after a kick has been carried out are:
{3,0},{3,1},{3,2},{4,0},{4,1},{4,2}. See Figure 2 below.

Figure 2: The match begins – Player 1 starts in the middle in possessions of the ball.

Further rules
· When the ball is kicked by a player and lands in the other player’s goal location, the kicking player wins and the game ends.
· However, when the other player is currently residing at their goal coordinate and the ball lands in this location, no goal will be scored (I.e., the goal is defended by that player).
· At the start of the game, one player will be at location {2,1} for kick-off, and the other player will be defending their own goal (Example: Figure 2).
· When it is their turn, a player must always choose an action, they can’t stay where they currently are. If they are not in possession of the ball, they must move. This is to prevent players from “camping” at their goal coordinate.
· When the ball is not kicked or taken with a moving player, it remains in its current location.
· Tackling: When a player moves to a location where the other player currently resides with the ball, the moving player takes possession of the ball and gets an extra action. This means the player can then move further or do a kick. While moving with the ball towards the opponent’s goal has the advantage that the number of target locations will decrease in the next turn, “tackling” will make sure a player can be prevented from moving directly in front of their opponent’s goal without intervention. This will make the game more interesting.
· When a kick has been carried out, the target location where the ball lands must be
randomized (i.e., ball lands at a random location from the set of possible new ball locations).

Figure 3: Example – Player2’s turn in possession of the ball at {4,0}. Player2 can now either kick the ball to one of the locations indicated in orange, or move with the ball to {3,0},{3,1},or {4,1}.

Design, create, and document a program that implements a “Golden Goal” game in C, using the specification given above. Try to implement as many of the described features as you can.
Anything that has not been clearly defined in the description above can be designed and implemented as you see fit.
Make sure to create a requirements specification for your software project when you start, detailing which core elements of functionality are required to implement the game. Apart from the software code, you also need to document your program both in the code and in the report, as detailed in the next sections (Marking criteria).

Additional optional tasks:
Consider adding one or more of the following extensions:
· Create a game interface that shows and updates the state of the playing field after each turn, indicating ball and player locations as the game proceeds. For command-line-based outputs, it is a good idea to simply print out anew the entire playing field after each turn is complete. Adding code for a simple interface like this early on may be a great help for debugging possible errors in your game logic, as you will instantly see the results of different actions!
· Create player via player or player via computer.
· Add timing mechanism. You can develop a goal-scoring mechanism by yourself, and then calculate the final scores according to the goal-scoring rules when the set time expires to determine which player wins .
· Add a skill attribute to the two players that is modified with each kick they perform. One way of doing this might be that an increase in skill also increases the likelihood of a kicked ball landing near or at the goal coordinate.

Marking criteria: Program
This assignment requires you to deliver a complete product and demonstrate a range of skills, relating to the design, planning, and implementation of a software program.
You should assume that you are marked on the following aspects of your work, in order of importance:
1. Delivered a (working) “Golden Goal” game
2. The number and quality of game features included
3. Interactivity and usability
4. Runtime performance
5. Quality of the code

程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com