Book Image

Creating Games with cocos2d for iPhone 2

By : Paul Nygard
Book Image

Creating Games with cocos2d for iPhone 2

By: Paul Nygard

Overview of this book

Cocos2d for iPhone is a simple (but powerful) 2D framework that makes it easy to create games for the iPhone. There are thousands of games in the App Store already using cocos2d. Game development has never been this approachable and easy to get started. "Creating Games with cocos2d for iPhone 2" takes you through the entire process of designing and building nine complete games for the iPhone, iPod Touch, or iPad using cocos2d 2.0. The projects start simply and gradually increase in complexity, building on the lessons learned in previous chapters. Good design practices are emphasized throughout. From a simple match game to an endless runner, you will learn how to build a wide variety of game styles. You will learn how to implement animation, actions, create "artificial randomness", use the Box2D physics engine, create tile maps, and even use Bluetooth to play between two devices. "Creating games with cocos2d for iPhone 2" will take your game building skills to the next level.
Table of Contents (16 chapters)
Creating Games with cocos2d for iPhone 2
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Predictive logic


So far, we have mostly covered straightforward code that takes care of basic game mechanics. There is one problem, though. The game can produce a board that is impossible to make a move on. Worse, we have no way of knowing that there are no more moves remaining. We aim to correct that deficiency now, in a rather dense method called checkMovesRemaining. First, we should cover the basic concept of how this is accomplished.

If you recall, the checkForMatchesOfType method we reviewed earlier did a good job of finding any actual matches on the board. We could code this predictive method in that style, but it quickly gets confusing since you need to be able to determine matches up to five gems in a row to get an accurate count of moves remaining. Here, we take another approach by writing the gemType values into a "C-style" array, so we can easily get a single view of the whole board without massive nested loops.

The challenge is determining all the possible ways a player can...