Book Image

iOS 9 Game Development Essentials

By : Chuck Gaffney
Book Image

iOS 9 Game Development Essentials

By: Chuck Gaffney

Overview of this book

Table of Contents (15 chapters)
iOS 9 Game Development Essentials
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Boolean


An integral part of all programming, game, or otherwise is the use of Boolean values. Boolean values typically return either true or false values, yes or no, or 0 or 1. In Swift, this is the job of the Bool class of objects. The use of the function .isEmpty() in our past collection data type examples returns a Boolean value of true or false based on whether that collection is empty or not.

In game development, one way we could use Boolean values is to have a global variable (a variable accessible in scope throughout our game/app) that checks if the game is over.

var isGameOver = false

This variable, taken from the PikiPop game, starts the game off with a variable of type bool named isGameOver with a starting value of false. If the events of the game cause this value to change to true, then this triggers the events associated with the game over state.

Note

Unlike Boolean values in Objective-C, Swift uses only true or false values to represent Boolean variables. Swift strict type safety does not allow the use of YES and NO or 0 and 1, as we have seen in Objective-C and other programming languages.

However, reading and controlling this type of information about our game, known as the game's state, is best controlled with more than just a single Boolean value. This is because your game and the characters in your game could have various states, such as game over, paused, spawn, idle, running, falling, and more. A special object known as a state machine best manages this type of information. State machines shall be covered in more detail when we discuss the GameplayKit framework.