/Cpp-Shooting-Game

Capstone project for the Udacity C++ Nanodegree

Primary LanguageMakefileCreative Commons Attribution Share Alike 4.0 InternationalCC-BY-SA-4.0

Cpp-Shooting-Game

The project is 2D arcade shooting using C++ SDL.

Table of contents

Dependencies for Running Locally

Basic Build Instructions

  1. Clone this repo.
  2. Make a build directory in the top level directory: mkdir build && cd build
  3. Compile: cmake .. && make
  4. Run it: ./ShootingGame.

How to play

Key Action
Up Move to Upside
Down Move to Downside
Left Move to Leftside
Right Move to Right side
A Use Normal Weapon
ESC Exit Game

Processing loop

Object Hierarchy

Rubric Points

Below are the rubric points that are addressed/implemented in this project.

Loops, Functions, I/O

  • The project demonstrates an understanding of C++ functions and control structures
  • The project accepts user input and processes the input

Object Oriented Programming

  • The project uses Object Oriented Programming techniques.
  • Classes use appropriate access specifiers for class members.
  • Class constructors utilize member initialization lists.
  • Classes abstract implementation details from their interfaces.
  • Classes encapsulate behavior.
  • Classes follow an appropriate inheritance hierarchy.
  • Overloaded functions allow the same function to operate on different parameters.
  • Derived class functions override virtual base class functions.

Memory management

  • The project uses destructors appropriately.
  • The project uses smart pointers instead of raw pointers.

Concurrency

  • The project uses multithreading.
  • A mutex or lock is used in the project.