Book Image

Beginning C++ Game Programming

Book Image

Beginning C++ Game Programming

Overview of this book

This book is all about offering you a fun introduction to the world of game programming, C++, and the OpenGL-powered SFML using three fun, fully-playable games. These games are an addictive frantic two-button tapper, a multi-level zombie survival shooter, and a split-screen multiplayer puzzle-platformer. We will start with the very basics of programming, such as variables, loops, and conditions and you will become more skillful with each game as you move through the key C++ topics, such as OOP (Object-Orientated Programming), C++ pointers, and an introduction to the Standard Template Library. While building these games, you will also learn exciting game programming concepts like particle effects, directional sound (spatialization), OpenGL programmable Shaders, spawning thousands of objects, and more.
Table of Contents (24 chapters)
Beginning C++ Game Programming
Credits
About the Author
About the Reviewer
www.PacktPub.com
Dedication
Preface
17
Before you go...

Collision detection


We will handle collision detection using rectangle intersection and the SFML intersects function. What will be different in this project is that we will abstract the collision detection code into its own function and Thomas and Bob, as we have already seen, have multiple rectangles (m_Head, m_Feet, m_Left, m_Right) that we need to check for collisions.

Coding the detectCollisions function

To be clear, this function is part of the Engine class. Open up the Engine.h file and add a declaration for a function called detectCollisions. This is shown highlighted in the following code snippet:

   // Private functions for internal use only 
   void input(); 
   void update(float dtAsSeconds); 
   void draw(); 
 
   // Load a new level 
   void loadLevel(); 
 
   // Run will call all the private functions
   bool detectCollisions(PlayableCharacter& character); 
    
public: 
   // The Engine constructor 
   Engine...