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

The project is…


This chapter will take on the often copied game that has graced pretty much every possible computing platform, from early cell phones to current consoles: the snake game. There are many variations under a variety of names, but the mechanics are generally the same. You control a snake that is always moving forward. You can turn the snake right or left (at right angles only), avoiding walls and eating mice (or other food). Each time you eat something, your snake gets longer. You can go on eating (and growing) until you run into a wall or your own tail.

Design approach

The "classic" way to handle the snake's movement in a snake game is to draw a new body segment in the direction the snake is moving, and erase the one at the end. While this approach works, we want to use a more object-oriented approach in our design.

We will focus on letting the snake be as autonomous as possible. We want a snake class that we can simply instruct to move, and the snake object will handle the movement...