Fill This Form To Receive Instant Help
Homework answers / question archive / COM5001 ASSIGNMENT BRIEF Module Code-COM5001 Assessment Task - Software development and documentation Word Count 2000 words for report Assessment No 1 of 1 Weighting 100% Type of Submission Porfolio Method of Submission Electronic through moodle and gitlab Anonymous marking Not anonymous
COM5001 ASSIGNMENT BRIEF Module Code-COM5001 Assessment Task - Software development and documentation
Word Count 2000 words for report
Assessment No 1 of 1 Weighting 100%
Type of Submission Porfolio
Method of Submission Electronic through moodle and gitlab
Anonymous marking Not anonymous. Documentation is closely linked to code and code cannot be anonymous.
Code of Assessment 29.5.2
c) Subject-specific skills exercises or product creation e.g. artwork, product design, video production, performances.
Learning Outcomes
1. Demonstrate understanding of facts, concepts, principles and theories relating to intermediate level computer programming;
2. analyse, model, design, test, and evaluate intermediate level computer programmes;
3. apply appropriate theory, practices and tools for the specification, design, development and evaluation of intermediate computing systems including programming in a high level language;
4. Solve problems and represent ideas at different levels of abstraction.
Assignment Description
A Brand New Pokedex
You’ve been tasked with developing a prototype for a new Pokedex that uses some form of linked list to store the player and Pokemon data.
Task Summary
Develop a program that mimics a Pokedex from Pokemon. A Pokedex is an encyclopedia type information system that stores a list of Pokemon and information about those Pokemon. (see www.Pokemon.com/uk/Pokedex/).
You need to implement the following
1. A Struct to represent the top level of the Pokedex. It holds the head of two lists – a list of players and a list of Pokemon.
2. A list of Pokemon, storing the details of a Pokemon in each node.
3. A list of Players. Each node represents a player and stores a list of Pokemon captured by that player.
4. Pokedex Functionality
You also need to write a report on your program that covers
1. The Structs you have created
2. The list types you chose and why
3. Where in memory the various parts of the Pokedex are stored, and what this means.
4. Explain DisplayPlayerDetails () function – how it works.
Pokedex Program
Pokedex Structure
You should create a struct called Pokedex which stored two pointers – one to the head of the player list and one to the head of the Pokemon list. A variable of the Pokedex type called pokedex should be created. You should pass this pokedex variable to functions rather than pointers to the head of either list.
Pokemon List
You should create a list of Pokemon. The list should be connected by pointers so that it can expand as required. It can be a singly or doubly linked list, or a tree structure.
Create a struct for each node in the list called PokemonNode. Each node in the list should store – the Pokemon’s name, its type and its primary ability as strings. Assume each Pokemon has only a single type and a single ability.
You should implement the basic functionality required for your list type, functions to – create new nodes, add a node to the list, to find a specific node (by Pokemon name).
Functions
• PokemonNode* NewPokemonNode(name, type, ability) – creates a new node and returns a pointer to that node
• void AddPokemonToList(*pokedex, name, type, ability) – checks to see if name already exists in the Pokemon list. If it doesn’t it creates a new node and adds it to the list. It the Pokemon already exists it does nothing.
• PokemonNode* FindPokemon(pokedex, name) searches the Pokemon list for name. If it finds name it returns a pointer to the name’s node otherwise it returns NULL.
Player List
You should create a list of players. The list should be connected by pointers so that it can expand as required. It can be a singly or doubly linked list, or a tree structure.
Create a struct for each node in the list called PlayerNode. Each node in the list should store – the player’s name as a string, a count of Pokemon owned, and an array of pointers to the Pokemon owned by that player. This can be an array or a dynamic structure. It should consist of pointers to the relevant Pokemon nodes in the Pokemon list.
You should implement the basic functionality required for your list type, functions to – create new nodes, add a node to the list, to find a specific node (by player name).
Functions
• PlayerNode* NewPlayerNode(name) – creates a new node and returns a pointer to that node. The Pokemon count should be set to zero.
• void AddPlayerToList(*pokedex, name) – checks to see if name already exists in the Player list. If it doesn’t it creates a new node and adds it to the list. It the player already exists it does nothing.
• PlayerNode* FindPlayer(pokedex, name) searches the Player list for name. If it finds name it returns a pointer to the name’s node otherwise it returns NULL.
Additionally, you will need to implement the following functions
• void AddPokemonToPlayer(pokedex, player name, pokemon name) that adds the Pokemon to the player’s Pokemon list (if it is not already in there) and increments the Pokemon count for that player.
PokemonNode* PokemonArray[20]; as part of PlayerNode, to store pointers to the nodes in the Pokemon list for the Pokemon that player has captured.
Pokedex Functionality
You will need to implement the following functions
• void DisplayPokemonDetails(pokedex, name) – outputs the details of name to the screen
• void DisplayPlayerDetails(pokedex, name) – outputs the details of name to the screen, including a list of names of all the Pokemon owned
• void ListPokemon(pokedex) – outputs a list of names of all Pokemon in the Pokedex
• void ListPlayers pokedex) – outputs a list of names of all players in the Pokedex
Pokedex Structure Example (Singly Linked List)
Pokedex Report (2000 Words)
Write a report describing your Pokedex application, focusing on the details below
• Describe the structs you have created - Pokedex, PokemonNode and PlayerNode. Explain why you have created them the way you have
• Explain what type of lists you have used for the Pokemon and Player lists. Explain why you have created then the way you have and how they work.
• Explain where in memory the Pokedex variable and the Pokemon and Player lists are. Explain what this means.
• Explain how DisplayPlayerDetails(pokedex, name) works. You should explain the functionality and also which types of memory are used. You should discuss what happens on the Stack and the Heap.
•
Assessment Regulations
• Your attention is drawn to the University policy on academic misconduct (Academic Misconduct Policy). Penalties will be applied where a student is found guilty of academic misconduct, including termination of programme.
• You are required to keep to the word/time limit set for an assessment and to note that you may be subject to penalty if you exceed that limit (Agreed Penalties Policy). You are required to provide an accurate word count on the cover sheet for each piece of work you submit.
• For a first assessment attempt a penalty may be applied for late or non-submission of work by the published deadline or an approved extended deadline (Agreed Penalties Policy).
• Where a re-assessment opportunity exists, late or non-submission of work receives a mark of zero and is not eligible for a capped mark (Agreed Penalties Policy and Reassessment)
• An extension to the published deadline may be granted to an individual student if they meet the eligibility criteria of the Exceptional Circumstances policy.
Note
Feedback Policy: Marks are to be returned to students with the caveat that all marks are provisional until final approval by the School Assessment Board (SAB). Confirmed marks will be made available via e:Vision after the SAB meeting.
Marking Rubric
Please download the answer file using this link
https://drive.google.com/file/d/1eeYvCrahdxDvqKmegNtbWnrWHM6CcnyD/view?usp=share_link