Design additional derived classes for circle sprite

Assignment Help C/C++ Programming
Reference no: EM131234230

GAME PROJECT - A Simple Graphics-based Game in C++ 

Introduction 

The goal of this assignment is to allow you to demonstrate your understanding of the following game related topics in C++: 

i. Steps within a Game Loop: input / update / draw. ii. Role of Class Hierarchies (and use of abstract base classes) for simplifying the game loop.

ii. The use of Container Objects to store the entities used within a game and their implementation and use within the game loop.

iii. How to implement basic Interactive Game play Elements such as user input (mouse and/or keyboard) that result in changes to the game scene.

iv. Capacity to read, interpret and modify (somewhat complex) existing code projects.

You are provided with a C++ project called ArcadeGame that implements a basic 'framework' for a game. This framework code implements the basic game loop, a base abstract Sprite class and a demonstration of a Box class that is derived from the base Sprite class. 

You are asked to extend and/or modify this code base to demonstrate your proficiency in C++ coding and game element programming. 

Stages -

To achieve the goal of demonstrating a sufficient understanding of the C++ language, the submitted game software should achieve these incremental stages: 

Stage 1 - Deriving from the Sprite base class

Based on the current 'Box Sprite' class, design and implement additional derived classes for 'Circle Sprite' and 'Bitmap Sprite' - which use the lower level API of the WinCanvas class.

Use these new classes to create a picture with each of these primary sprites types. Note: The positions of these sprites can be hard-coded into your program and can be static.

Stage 2 - Moving Sprite objects

Now that you have the ability to place various sprites within you scene, provide velocity to them and have them move around the screen. This can involve simple movement such as moving in the direction of the x- or y-axis (across or up/down the screen, respectively) and when they leave the edge of the screen they 'wrap' around and return on the other side.

Stage 3 - Scene containing a variety of moving Sprite objects

Extend and use the 'Scene' class that provides a container for an arbitrary number of Sprite objects (Note, this is a container of base-class pointers, which allows you to store pointers of various derived classes and access them through the base class pointer!). The Scene object should allow Sprite pointers to be 'added' and 'removed'.

Use this container to iterate over and for each element call the objects' respective update() and draw() methods.

Stage 4 - User Input 

Allow the user to interact with the sprites through simple user input (keyboard and/or mouse input). For example, allow the user to enter 'C' for the creation of a new Circle object, or use the mouse click to alter the state of objects (or even remove them from the scene). 

Stage 5 - Controllable Player Sprite Class 

Design and create a Player class that can be controlled from user input (keyboard W, A S, D for example). The player can be represented by one of the Sprites you have already created, or be altered depending on the input used (for example a different Bitmap for an player moving left to that of a player moving right). 

Optional Game Features/Functionality - Bonus Marks

If you wish, you can provide additional functionality or features that further demonstrate your understanding and knowledge of the C++ language. Areas that could be considered (but not limited to) include: 

  • Improved interaction/collision detection/resolution between objects
  • File system interaction - for the loading of game scene description data
  • Bitmap sprite animation
  • Implementation of appropriate design patterns (eg. object factory, object pools, command pattern, etc.)

Attachment:- Arcade Game Code.zip

Reference no: EM131234230

Questions Cloud

What changes in technology have simplified this process : What are the differences between data validation, data editing, and data coding? Describe the process for data entry. What changes in technology have simplified this process? What is the purpose of a simple one-way tabulation?
What would be the monthly lease payment to remain even : What is the customer's equivalent monthly cost of leasing an airplane?  - What would be the monthly lease payment to remain even?
Explain operations management concepts from the textbook : Discuss operations management concepts from the textbook that are found in the case, including page numbers where the concepts may be found.
Compute the yield to maturity on the old issue : Compute the yield to maturity on the old issue and use this as the yield for the new issue. -  Make the appropriate tax adjustment to determine the aftertax cost of debt.
Design additional derived classes for circle sprite : SIT153 - Assignment. GAME PROJECT - A Simple Graphics-based Game in C++. Based on the current 'Box Sprite' class, design and implement additional derived classes for 'Circle Sprite' and 'Bitmap Sprite' - which use the lower level API of the WinCanv..
Illustrates a implementation of one of hackmans elements : After listening to the NUMMI podcast assigned in your learning materials, choose one aspect of the NUMMI joint venture that illustrates a successful implementation of one of Hackman's elements of a supportive context.
What is the initial weighted average cost of capital : What is the initial weighted average cost of capital? - If the firm has $27.5 million in retained earnings, at what size capital structure will thefirm run out of retained earnings?
How were these different after the change in approach : What rewards did management of the Benefits Agency use when it was operating as part of the Department of Social Security?
Description of company organization for which strategic plan : Where are thery and what are they doing now: consumer needs and desires they try to satisfy, marketing and PR strategies, other sepecific strategies they used to build their branding. What they are good at, why those worked or not worked, and wha..

Reviews

len1234230

10/7/2016 7:42:21 AM

Please use the code which attached. Each file should contain a brief comment block at the beginning indicating the contents of the file, who authored it, date and student declaration, as shown in the example below: All code should be clearly commented with regards to the assignment question it answers and how it contributes to that answer. Please ensure that you “Clean” your solution in Visual Studio before submitting it (Under the Build menu, select “Clean Solution”) & delete the LARGE (.sdf) file! This assignment must be including The Complete Source Code – a zip file that comprises the complete Visual Studio solution and project. This solution must contain the associated source code folders. It is expected that the source code is fully documented with relevant comments describing and explaining the features of the code.

Write a Review

C/C++ Programming Questions & Answers

  Create program that uses functions and reference parameters

Create program that uses functions and reference parameters, and asks user for the outside temperature.

  Write a program using vectors and iterators

Write a program using vectors and iterators that allows a user to maintain a personal list of DVD titles

  Write the code required to analyse and display the data

Calculate and store the average for each row and column. Determine and store the values for the Average Map.

  Write a webservices application

Write a webservices application that does a simple four function calculator

  Iimplement a client-server of the game

Iimplement a client-server version of the rock-paper-scissors-lizard-Spock game.

  Model-view-controller

Explain Model-View-Controller paradigm

  Design a nested program

How many levels of nesting are there in this design?

  Convert celsius temperatures to fahrenheit temperatures

Write a C++ program that converts Celsius Temperatures to Fahrenheit Temperatures.

  Evaluate and output the value in the given base

Write C program that will input two values from the user that are a Value and a Base with which you will evaluate and output the Value in the given Base.

  Design a base class shape with virtual functions

Design a base class shape with virtual functions

  Implementation of classes

Implementation of classes Chart and BarChart. Class barChart chould display a simple textual representation of the data

  Technical paper: memory management

Technical Paper: Memory Management, The intent of this paper is to provide you with an in depth knowledge of how memory is used in executing, your programs and its critical support for applications.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd