Handling death

Every game has to end badly, with either the player running out of time (which we have already handled), or getting squished by a branch.

Detecting the player getting squished is really simple. All we want to know is whether the last branch in the branchPositions array equals playerSide. If it does, the player is dead.

Add the highlighted code that detects this and then we will talk about everything we do when the player is squished:

 // Handle a flying log if (logActive) { spriteLog.setPosition( spriteLog.getPosition().x + (logSpeedX * dt.asSeconds()), spriteLog.getPosition().y + (logSpeedY * dt.asSeconds())); // Has the log reached the right hand edge? if (spriteLog.getPosition().x < -100 || spriteLog.getPosition().x > 2000) { // ...

Get Beginning C++ Game Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.