1. Homepage
  2. Programming
  3. CIS2343 Object Oriented Systems Development Assignment: Card-G

CIS2343 Object Oriented Systems Development Assignment: Card-G

Engage in a Conversation
HUDDERSFIELDCIS2343Object Oriented Systems DevelopmentC++Card-GCard Game

Assignment Title
CourseNana.COM

1.             Assignment Aims CourseNana.COM

In this assignment, you will be given a set of requirements to develop a card game framework using the object-oriented programming concepts covered in this module. Based on the given requirements and specification, you will be required to work through the design/modelling and ultimately the implementation and testing of the software. CourseNana.COM

2.             Learning Outcomes: CourseNana.COM

On successful completion of this assessment, you will be able to: CourseNana.COM

Knowledge and Understanding CourseNana.COM

1.     Explain the concepts embodied in the object paradigm CourseNana.COM

2.     Discuss the nature of the relationships between objects within a system from a variety of perspectives CourseNana.COM

3.     Understand the aims, scope and core semantics of an object modelling language CourseNana.COM

4.     Describe informally the semantics of a programming language which enables the writing of object-based software CourseNana.COM

5.     Evaluate the impact of the object-based approach on the software development process CourseNana.COM

Ability CourseNana.COM

6.     Produce object-based specifications for proposed software systems CourseNana.COM

7.     Implement object-based specification in software using appropriate programming language constructs CourseNana.COM

  CourseNana.COM

3.             Assessment Brief CourseNana.COM

3.1 Scenario CourseNana.COM

You have recently set up your own software development company specialising in developing indie videogames. You are the only employee of your company (like Concerned Ape – google it if you don’t know what we are talking about) and you are responsible for everything from identifying suitable opportunities for games, right through to the design, development, and testing of software. Your company operates by identifying gaps in the market and quickly developing working prototype games that can then be demonstrated to potential clients to acquire investment to develop a fully functioning commercial version. CourseNana.COM

  CourseNana.COM

3.2 Project Outline CourseNana.COM

You have noticed the recent success of card games like Magic® or Gwent®. You decided to develop a prototype of a game, called Card-G, that incorporates some aspects of that type of card game. After some thought, you have decided to investigate and develop a low-cost version of a usual PC videogame, to test game dynamics and provide an easy-to-extend preliminary release of the game. CourseNana.COM

  CourseNana.COM

3.3 Project Requirements CourseNana.COM

In the broadest sense, you are required to design and develop a prototype software game consisting of the following two mandatory features: CourseNana.COM

  CourseNana.COM

1.     A card deck generation and selection feature, that should be able to randomly generate a deck of cards and allow the player to select those to be used in the next match. CourseNana.COM

2.     A match feature that allows the player to use the personalised set of cards against a virtual player. CourseNana.COM

The specification of these two features is detailed below. Please note, these are the mandatory features that must be implemented in your work. CourseNana.COM

Deck generation and card selection Feature: CourseNana.COM

This feature is responsible for creating a deck of cards, and the user should be able to select a subset to use in a match. CourseNana.COM

1.     Your prototype must be able to generate three types of cards: increase power (power+), reduce the power (power-) of opponent’s card currently on the board, and cards that allow to steal a card from the opponent’s not-yet-played set (steal). CourseNana.COM

2.     Each card is described by its type, and by the corresponding characteristics. Power+ must indicate the amount of power added; power- must indicate the amount of power removed from the opponent’s board; and steal must indicate if the card to be stolen is selected by the player or randomly picked up. CourseNana.COM

3.     Before a match, the player must be able to select from the generated deck 5 cards to use. Similarly, the virtual player has to pick up 5 cards in some way. CourseNana.COM

For testing your prototype, your generation component must be able to generate a deck with at least 20 cards. At least one card per type must be included in the deck. CourseNana.COM

Match Feature: CourseNana.COM

This feature allows the player to play a match against the virtual player. CourseNana.COM

1.     The card game is turn-based. Each player has a dedicated board where cards played are positioned. At the start of the game, both boards are empty. The virtual player starts first. CourseNana.COM

2.     The game ends when both players have no more cards to play. The player with the highest power score wins. The power score is the sum of the values of all the power+ cards in the corresponding player’s board, minus the sum of the values of all the power- cards played by the opponent. CourseNana.COM

3.     During a turn, the active player (human-controlled or computer-controlled) selects one of the following cards to play. CourseNana.COM

a.      Power+ card. The card is added to the player’s board, and the power score of the player is increased according to the value of the card. CourseNana.COM

b.     Power- card. The card is added to the player’s board, and the power score of the opponent is reduced by a corresponding amount. CourseNana.COM

c.      Steal card. The card is added to the player’s board, and the player gets a card from the opponent’s set. If the opponent’s set is empty, the steal card is transformed into a Power+ card with a power value of 1. CourseNana.COM

4.     A basic computer-controlled player that can play against the human user. CourseNana.COM

5.     During each turn, information about the card played, and updates of score must be shown on screen, and stored in a file. Information logged must include the player, the current power score value, the type and value of the card played, and the cards that have not yet been played. CourseNana.COM

Implementation Requirements: CourseNana.COM

You must implement your software in C++. The design should follow well-defined object-oriented paradigm in such a way that new features (new types of cards, new rules, etc.) can be added as necessary with minimal code modification. This will require you to design an architecture which makes use of design patterns, inheritance, and polymorphism. It is important to maintain efficient code and good memory management. CourseNana.COM

Beyond Mandatory Features CourseNana.COM

The specification provided above describes the minimum functionalities that your work must meet to gain a passing grade. To gain further marks, you must add relevant functionalities beyond those prescribed in this brief. For instance, a wider set of card types, a smart strategy to be implemented by the virtual opponent to select cards and to play during the match, notions like mana and magic power of players, etc. CourseNana.COM

4.             Marking Scheme CourseNana.COM

This assignment is worth 100% of your total grade for this module and consists of two parts: Final Report, and Software/Source code. Both pieces of work will be submitted together by 12:00 (Noon) 17/05/2024. CourseNana.COM

Final Report (50%) CourseNana.COM

There is a maximum word count of 1500 words and you are encouraged to use a concise writing style, allowing the examiner to easily assess your report. The layout of the report is up to you; however, it must provide the following details in a logical order. Your final report will comprise of the following: CourseNana.COM

1.     Analysis and design to describe the structure and behaviour. This must include: CourseNana.COM

a.      Brief description of the main functionalities of your software CourseNana.COM

b.     Use case, activity, class, and sequence diagrams CourseNana.COM

c.      Brief description and justification of adopted object-oriented design pattern. CourseNana.COM

d.     Any additional material. CourseNana.COM

2.     Implementation notes (not code comments): CourseNana.COM

a.      A table detailing challenges that you have encountered and how you overcame them. CourseNana.COM

b.     Any essential information for running the program that can be useful for the assessor. CourseNana.COM

3.     Testing: CourseNana.COM

a.      Test cases. It is expected that sufficient testing is performed to validate all system functionality in anticipation of performing the demonstration. CourseNana.COM

b.     Evidence of test results. CourseNana.COM

4.     Evaluation: CourseNana.COM

a.      An evaluation of your design. E.g. problems identified during implementation. How were they rectified? What would you do differently next time? CourseNana.COM

b.     An evaluation of your implementation. E.g. how well does it meet the requirements? The importance of any additional functionality. CourseNana.COM

Final Software and Recorded Demonstration (50%) CourseNana.COM

1.     Final Code includes your full code of your project and Demonstration video. CourseNana.COM

2.     You will have to submit a brief (maximum of 10 minutes) demonstration video of your system for the assignment specification and any advanced features that you have implemented. More details on it would be available near the time. CourseNana.COM

The final submission must be made through Brightspace. The following three items will be submitted via Brightspace by the deadline: CourseNana.COM

1.     A copy of the final report report CourseNana.COM

2.     Your full project files and source code, this will commonly be your Visual Studio project. CourseNana.COM

3.     Demonstration Video CourseNana.COM


CourseNana.COM

5.             Grading Rubric CourseNana.COM

Marks Available CourseNana.COM

Software and implementation CourseNana.COM

Final report CourseNana.COM

0 to 29 CourseNana.COM

·       not executable or correct and/or only addresses a significantly small subset of the required functionality CourseNana.COM

·       Poor or missing design and/or limited use of design patters, limited/no evidence of critical analysis, limited/no evidence of testing CourseNana.COM

30-39 CourseNana.COM

·       barely executable and/or only address a small subset of the required functionality CourseNana.COM

·       Poor design and/or limited use of design patters, limited evidence of critical analysis, limited/no evidence of testing CourseNana.COM

40-49 CourseNana.COM

·       executable and/or addresses a reasonable subset of the required functionality CourseNana.COM

·       design that is adequate, and/or use of design patters, limited evidence of critical analysis, limited evidence of testing CourseNana.COM

50 - 59 CourseNana.COM

·       executable and correct under most circumstances and addresses a significant subset of the required functionality CourseNana.COM

·       Good design and/or use of design patters, evidence of critical analysis, and evidence of adequate testing CourseNana.COM

60 – 69 CourseNana.COM

·       executable and addresses almost all of the required functionality, but does not use C++ features CourseNana.COM

·       Very Good design and good use of design patters, good evidence of critical analysis and/or good evidence of testing CourseNana.COM

70 – 79 CourseNana.COM

·       executable and addresses all required functionality while also showing evidence of using C++ features CourseNana.COM

·       Good design and/or use of design patters, good evidence of critical analysis, good evidence of testing CourseNana.COM

80-89 CourseNana.COM

·       executable and addresses all required functionality, extending them in a meaningful way, while also showing evidence of good use of C++ features CourseNana.COM

·       Excellent design and excellent use of design patters, excellent evidence of critical analysis and/or excellent evidence of testing CourseNana.COM

90- 100 CourseNana.COM

·       executable and addresses all required functionality, extending them in an outstanding way, while also showing evidence of excellent use of C++ features CourseNana.COM

·       Excellent design, excellent use of design patterns, strong evidence of thorough testing and excellent capability of critically discuss issues faced in development CourseNana.COM

  CourseNana.COM

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
HUDDERSFIELD代写,CIS2343代写,Object Oriented Systems Development代写,C++代写,Card-G代写,Card Game代写,HUDDERSFIELD代编,CIS2343代编,Object Oriented Systems Development代编,C++代编,Card-G代编,Card Game代编,HUDDERSFIELD代考,CIS2343代考,Object Oriented Systems Development代考,C++代考,Card-G代考,Card Game代考,HUDDERSFIELDhelp,CIS2343help,Object Oriented Systems Developmenthelp,C++help,Card-Ghelp,Card Gamehelp,HUDDERSFIELD作业代写,CIS2343作业代写,Object Oriented Systems Development作业代写,C++作业代写,Card-G作业代写,Card Game作业代写,HUDDERSFIELD编程代写,CIS2343编程代写,Object Oriented Systems Development编程代写,C++编程代写,Card-G编程代写,Card Game编程代写,HUDDERSFIELDprogramming help,CIS2343programming help,Object Oriented Systems Developmentprogramming help,C++programming help,Card-Gprogramming help,Card Gameprogramming help,HUDDERSFIELDassignment help,CIS2343assignment help,Object Oriented Systems Developmentassignment help,C++assignment help,Card-Gassignment help,Card Gameassignment help,HUDDERSFIELDsolution,CIS2343solution,Object Oriented Systems Developmentsolution,C++solution,Card-Gsolution,Card Gamesolution,