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...

Random numbers


Random numbers are useful for lots of reasons in games. Perhaps you could use them for determining what card the player is dealt, or how much damage within a certain range is subtracted from an enemy's health. As hinted at, we will use random numbers to determine the starting location and the speed of the bee and the clouds.

Generating random numbers in C++

To generate random numbers we will need to use some more C++ functions, two more to be precise. Don't add any code to the game yet. Let's just take a look at the syntax and the steps required with some hypothetical code.

Computers can't actually pick random numbers. They can only use algorithms/calculations to pick a number that appears to be random. So that this algorithm doesn't constantly return the same value, we must seed the random number generator. The seed can be any integer number, although it must be a different seed each time you require a unique random number. Take a look at this code, which seeds the random number...