Index
A
- A* Pathfinding / Smarter enemies
- A* Pathfinding algorithm / Design review
- accelerometer$didAccelerate$ method / Tilt controls
- addGapTiles method / Scrolling the tiles
- addGemForRow$ method / Generating gems
- addGemsToFillBoard method / The update method, Artificial randomness
- addHead method / Building the head, Building the body segments
- addSegment loop / Dissecting the snake
- addSegment method / Building a better snake, Dissecting the snake, Building the body segments
- addTiltControl method / Tilt controls
- addToScore method / Storing player data, Displaying player data
- aimAtPoint variable / Building the control base, Two-touch control
- allowDoubleJump variable / Touch controls
- anchorPoint / Drawing tiles, Drawing the ground
- animation, side scrolling endless runner game
- loading / Animation loading
- animation cache, mole thumping game / The animation cache
- AnimName string / Animation loading
- application$didFinishLaunchingWithOptions$ method / It's quiet...too quiet
- arc4random() / Drawing tiles, Power-ups, good and bad
- arc4random() call / Building the ground
- array, mutating / Adding interactivity
- autoreleased object / Where is the scene?
B
- b2BodyDef / On the edge
- b2CircleShape / Having a ball
- b2EdgeShape object / On the edge
- b2PolygonShape / Paddle fixture
- b2Vec2() / Having a ball
- b2World variable type / World building
- ball, brick breaking game
- building / Having a ball
- losing / Losing your ball
- BallID variable / Rack 'em up
- ballSpritesOnTable method / Player HUD
- ballsSunk array / The rules engine
- BeginContact / Collision handling
- bgScrollSpeed value / Parallax background
- bike, light cycles of TRON game
- building / Let's build a bike
- CLBike header / CLBike header
- CLBike, implementing / CLBike implementation
- rotating / Bike rotation
- turning / Turning the bike
- bikes, light cycles of TRON game
- upgrading / Upgrading our bikes
- bikeSpeed parameter / Bike movement
- bikeWalls array / The playfield
- bluetooth multiplayer, light cycles of TRON game
- about / Bluetooth multiplayer
- BMFont file / Scoring and excitement
- boardOffsetX variable / Creating the playfield layer
- boardOffsetY variable / Creating the playfield layer
- body, brick breaking game / Basic parts of Box2D
- bottomGutter fixture / Losing your ball
- boundingBox / The memory tile class, Collision handling
- Box2D, brick breaking game
- about / Box2D – a primer, Box2D – what is it?
- documentation, URL / Box2D – what is it?
- world / Basic parts of Box2D
- parts / Basic parts of Box2D
- body / Basic parts of Box2D
- shape / Basic parts of Box2D
- fixture / Basic parts of Box2D
- joints / Basic parts of Box2D
- contact listener / Basic parts of Box2D
- world, building / World building
- screen, edges for / On the edge
- ball, building / Having a ball
- Box2D world, top-down pool game / The Box2D world
- BRContactListener.h file / Collision handling
- BRContactListener.mm file / Collision handling
- BRGameHandler.mm file / Storing player data, Loading a plist
- BRGameHandler class / Losing lives with multiball
- BRHUD.mm file / Displaying player data
- BRHUD.mm layer / Displaying player data
- brick breaking game
- about / The project is…
- Box2D / Box2D – a primer, Box2D – what is it?
- Box2D, parts / Basic parts of Box2D
- PTM_RATIO / Basic parts of Box2D
- Box2D world, building / World building
- BRPlayfieldLayer.mm file / World building, On the edge, Having a ball, Setting everything in motion, Losing your ball, Destruction, Paddling around, Paddle fixture, Touching the paddle, Picking a pattern, Breaking bricks, for real, Power-ups, good and bad, Picking up power-ups, Paddle deformation, Restoring the paddle, Multiball, Losing lives with multiball
- b2World variable type / World building
- screen, edges for / On the edge
- wallBodyDef / On the edge
- b2BodyDef / On the edge
- ccp value / On the edge
- screen, edges / On the edge
- b2EdgeShape object / On the edge
- Set function / On the edge
- CreateFixture command / On the edge
- ball, building / Having a ball
- PhysicsSprite object / Having a ball, Setting everything in motion
- setPhysicsBody / Having a ball
- tag definition / Having a ball
- userData / Having a ball
- b2CircleShape / Having a ball
- restitution / Having a ball
- impulse / Having a ball
- newBall method / Having a ball
- b2Vec2() / Having a ball
- step function / Setting everything in motion
- time step parameter / Setting everything in motion
- velocity iterations parameter / Setting everything in motion
- position iterations parameter / Setting everything in motion
- linear damping / Setting everything in motion
- CCSprite object / Setting everything in motion
- collision, handling / Collision handling
- BRContactListener.h file / Collision handling
- BRContactListener.mm file / Collision handling
- Ray Wenderlich tutorial, URL / Collision handling
- BeginContact / Collision handling
- EndContact / Collision handling
- ball, losing / Losing your ball
- _contacts variable / Losing your ball
- GetBody() function / Losing your ball
- bottomGutter fixture / Losing your ball
- destruction / Destruction
- toDestroy vector / Destruction, Breaking bricks, for real
- spriteDestroy method / Destruction, Breaking bricks, for real, Restoring the paddle
- paddle, building / Paddling around
- paddleBody / Paddling around, Touching the paddle
- wallBody / Paddling around, Touching the paddle
- collideConnected / Paddling around
- paddle, fixing / Paddle fixture
- b2PolygonShape / Paddle fixture
- paddleFixture object / Paddle fixture
- paddle, touching / Touching the paddle
- ccTouchesBegan method / Touching the paddle
- maxForce variable / Touching the paddle
- ccTouchesMoved method / Touching the paddle
- player data, storing / Storing player data
- CCSpriteFrameCache / Storing player data
- CCDirector / Storing player data
- BRGameHandler.mm file / Storing player data, Loading a plist
- Grand Central Dispatch (GCD) / Storing player data
- currentLevel variable / Storing player data
- currentLives variable / Storing player data, Displaying player data, Losing lives with multiball
- currentScore variable / Storing player data
- addToScore method / Storing player data, Displaying player data
- loseLife method / Storing player data, Displaying player data, Losing lives with multiball
- Heads-Up Display (HUD) layer / Displaying player data
- player data, displaying / Displaying player data
- BRHUD.mm layer / Displaying player data
- setString method / Displaying player data
- BRHUD.mm file / Displaying player data
- livesArray / Displaying player data
- createLifeImages method / Displaying player data
- property list (plist) / Building bricks
- NSDictionary / Loading a plist
- readPlist method / Loading a plist
- newPattern calculation / Picking a pattern
- tmpPattern array / Picking a pattern
- if else statement / Breaking bricks, for real
- arc4random() / Power-ups, good and bad
- tag property / Power-ups, good and bad
- paddleTimer variable / Picking up power-ups
- isPaddleDeformed variable / Picking up power-ups, Restoring the paddle
- buildPaddleFixtureNormal / Paddle deformation
- buildPaddleFixtureWithShape$ andSpriteFrameName$ method / Paddle deformation
- buildPaddleFixtureShort method / Paddle deformation
- buildPaddleFixtureNormal method / Restoring the paddle
- shouldStartMultiball variable / Multiball
- isBallInPlay variable / Multiball
- multiballCounter variable / Multiball, Losing lives with multiball
- lives, losing with multiball / Losing lives with multiball
- BRGameHandler class / Losing lives with multiball
- bricks, brick breaking game
- building / Building bricks
- breaking / Breaking bricks, for real
- BRPlayfieldLayer.mm file / World building, On the edge, Having a ball, Setting everything in motion, Losing your ball, Destruction, Paddling around, Paddle fixture, Touching the paddle, Picking a pattern, Breaking bricks, for real, Power-ups, good and bad, Picking up power-ups, Paddle deformation, Restoring the paddle, Multiball
- bubbles, side scrolling endless runner game
- shooting / Shooting bullets
- buildAnimations method / The animation cache
- buildPaddleFixtureNormal method / Restoring the paddle
- buildPaddleFixtureShort method / Paddle deformation
- buildPaddleFixtureWithShape$ andSpriteFrameName$ method / Paddle deformation
- bulletArray array / Shooting bullets
- bullets, top-down scrolling shooter game
- about / Time for bullets
- TDBullet class / TDBullet class
- bulletsToDelete array / Collision handling, Shooting bullets
- buttons, light cycles of TRON game
- about / Control buttons
- touching / Touching buttons
- blocks, flashing with / Flashing with blocks
- finishing / Finishing the buttons
C
- @class declaration / Building the mole, Building a better snake
- @class statement / The MAGem header
- calculateLivesRemaining method / Scoring and excitement
- CCAnimate object / Animation loading
- CCAnimation object / The animation cache
- CCCallBlock action / Flashing with blocks
- CCCallFuncND action / Deleting moles
- CCDirector / Storing player data
- ccDrawLine call / Building the background grid
- ccDrawLine function / Drawing the grid
- CCLabelBMFont class / Scoring and excitement
- CCLabelTTF class / Scoring and excitement
- CCLabelTTF label / Scoring and excitement
- CCLayer class / Parallax background
- CCLayer object / Let's build a menu
- CCLayer subclass / Let's build a menu
- CCMoveBy action / Combining actions and animation, Simultaneous actions
- CCMoveTo action / Simultaneous actions
- ccpAdd function / Moving the snake
- CCParticleSystemQuad object / Getting shot with particles
- ccpToAngle function / Building the control base
- ccp value / On the edge
- CCRenderTexture / Building the background grid
- CCRepeatForever action / Combining actions and animation, Scoring the mole, Moving grids
- CCScene class / Let's build a menu
- CCScene object / Let's build a menu
- CCSequence action / Simultaneous actions, Scoring the mole
- CCSpawn action / Scoring the mole
- CCSpriteBatchNode action / The animation cache
- CCSpriteBatchNode class / Building a sprite sheet
- CCSprite class / Building the ground, ERTile class
- CCSpriteFrameCache / Storing player data
- CCSpriteFrameCache action / The animation cache
- CCSprite object / Drawing tiles, Defining a molehill, Setting everything in motion
- CCSprite setPosition method / Anatomy of a snake segment
- CCSprite subclass / TDBullet class
- CCTintTo action / Simultaneous actions
- ccTouchBegan / But…how do we control the snake?
- ccTouchBegan method / Collecting touches, Touching moles, One-touch control
- CCTouchDispatcher action / Touching moles
- ccTouchEnded / But…how do we control the snake?
- ccTouchEnded method / Collecting touches, One-touch control, Two-touch control
- ccTouchesBegan method / Touching the paddle
- ccTouchesEnded method / Adding interactivity, Checking for matches
- ccTouchesMoved method / Touching the paddle
- ccTouchMoved method / Collecting touches, One-touch control
- CC_CONTENT_SCALE_FACTOR() / Implementing the tilemap
- CC_RADIANS_TO_DEGREES() / Building the control base
- CGRectIntersectsRect / Collisions and eating
- CGSize size variable / Creating the playfield header
- changeFace method / The memory tile class
- changeGemFace method / Removing gems
- changeHealthTo
- method / Smarter hero walking
- changeTile method / The memory tile class
- checkForCollisions method / Collisions and eating
- checkForMatchesOfType method / Building the playfield, Checking for matches, Checking moves, Predictive logic
- checkForMatch method / Adding interactivity, Checking for matches, Bringing it all together
- checkMatches variable / The update method
- checkMove method / The update method
- checkMovesRemaining method / Predictive logic, Artificial randomness
- checkTable method / Collision handling, Putting balls back, Checking the table
- CLBike.h file / CLBike header
- CLBike.m file / CLBike implementation, Bike movement, Crashing bikes, Upgrading our bikes
- CLBike class / Let's build a bike, CLBike header, Bike walls, Generating the bikes, Upgrading our bikes
- CLBike header / CLBike implementation
- CLButton.h file / Control buttons
- CLButton.m file / Control buttons, Touching buttons, Flashing with blocks, Finishing the buttons
- CLButton class / Generating the bikes
- CLDefinitions.h file / Let's build a bike
- CLPlayfieldLayer.h (partial) file / Bluetooth multiplayer
- CLPlayfieldLayer.m file / Boundary walls, The playfield, Collision handling, Peer Picker
- CLPlayfieldLayer class / CLBike implementation, Boundary walls, Crashing bikes, Bluetooth multiplayer, Upgrading our bikes
- CLRenderGrid.m file / Building the background grid, Drawing the grid, Moving grids, The glScissor
- CLRenderTexture.m file / The second grid
- CocosDenshion audio engine / It's quiet...too quiet
- coding, top-down scrolling shooter game / Code not covered here
- collideConnected / Paddling around
- collision, brick breaking game
- handling / Collision handling
- collision, side scrolling endless runner game
- handling / Collision handling
- collision, snake game
- detecting / Collisions and eating
- collision, top-down pool game
- handling / Collision handling
- collision, top-down scrolling shooter game
- handling / Collision handling
- colNum variable / The MAGem class, Moving gems
- connectionTypesMask property / Peer Picker
- contact listenet, brick breaking game / Basic parts of Box2D
- containsTouchLocation method / The memory tile class
- control base, top-down pool game
- building / Building the control base
- one touch control / One-touch control
- crash method / Crashing bikes
- CreateFixture command / On the edge
- createLifeImages method / Displaying player data
- createMouse method / Collisions and eating
- createRailWithImage method / Building the rails
- createWallFromBike method / Bike walls
- createWallFrom method / Boundary walls
- createWall method / Building snake food, Collisions and eating
- createWithLayer$withLength$ class method / Dissecting the snake
- createWithLayer$withLength$ method / Building a better snake
- cueBallInHand sprite / Building the control base, One-touch control
- cue stick, top-down pool game
- creating / Creating the cue stick
- currentLevel variable / Storing player data
- currentLives variable / Storing player data, Displaying player data, Losing lives with multiball
- currentScore variable / Storing player data
- currentWall position / Bike movement
- currentWall property / Bike integration
D
- data, light cycles of TRON game
- receiving / Receiving data
- dealloc method / The flow of the game, Generating gems, Touching moles
- defineSensors method / ERTile class, Our hero
- delMole action / Deleting moles
- design, side scrolling endless runner game / Design review
- design, top-down scrolling shooter game / Design review
- desiredGemState value / Checking for matches
- destroyTouchDelgate method / Touching moles
- destruction, brick breaking game / Destruction
- didSinkLastBall method / The rules engine
- didSinkValidBall method / The rules engine
- dismissMessage method / Displaying messages
- displayGameOver method / Crashing bikes
- displayMessage method / Player HUD
- drawGrid method / Building the background grid
- drawHills method / Making a molehill
E
- EndContact / Collision handling
- enemiesToDelete array / Collision handling
- enemy, side scrolling endless runner game
- about / Enemies everywhere
- enemy, top-down scrolling shooter game
- building / Building the enemy
- adding / Adding the enemies
- ERBackground.h file / Parallax background
- ERBackground.m file / Parallax background
- ERBackground class / Parallax background
- ERBullet.h file / Shooting bullets
- ERBullet class / Shooting bullets
- ERDefinitions.m file / Our hero
- EREnemy.m file / Getting shot with particles
- EREnemy class / Enemies everywhere
- EREnemy object / Enemies everywhere
- ERHero.m file / Our hero, Animation loading, Updating the hero, Death of hero
- ERHero class / Our hero
- ERPlayfieldLayer.m (addGround , part 1) file / Building the ground
- ERPlayfieldLayer.m (checkCollisions, part 1) file / Collision handling
- ERPlayfieldLayer.m (checkCollisions, part 2) file / Collision handling
- ERPlayfieldLayer.m (inside init) file / Parallax background
- ERPlayfieldLayer.m file / Adding gap tiles, Parallax background, Animation loading, Touch controls, Shooting bullets, Enemies everywhere
- ERPlayfieldLayer.m fle / Scrolling the tiles
- ERTile.m file / ERTile class
F
- faceSpriteName variable / Loading tiles, Checking for matches
- fallSensor variable / Our hero, Enemies everywhere
- FileCLBike.h file / CLBike header
- FileSNSnake.h file / Building a better snake
- fillHolesFromGem method / Artificial randomness
- fixStartingMatches method / Building the playfield
- fixture, brick breaking game / Basic parts of Box2D
- flashButton method / Flashing with blocks
- flipTile class / The memory tile class
- flipTile method / The memory tile class
- footSensor variable / Our hero
- for statement / Drawing the grid
G
- GameLayer class / The MAGem class
- GameLayer variable / Generating gems
- game over, top-down scrolling shooter game
- conditions / Game over, man
- gameOver method / Death of hero
- games
- memory game / The project is...
- Match 3 game / The project is…
- mole thumping game / The project is…
- snake game / The project is…
- brick breaking game / The project is…
- light cycles of TRON game / The game is…
- top-down pool game / The game is…
- top-down scrolling shooter game / The game is…
- side scrolling endless runner game / The game is...
- gemIsAtRest method / Moving gems
- gemMatches array / Building the playfield, Checking for matches
- gems, Match 3 game
- generating / Generating gems
- moving / Moving gems
- checking / Checking moves
- removing / Removing gems
- gemsInPlay array / Checking for matches
- gemsMoving variable / Artificial randomness
- GemState type / The MAGem header
- gemsTouched array / Collecting touches, Checking moves
- GemType type / The MAGem header
- generateGemsForRow$ method / Generating gems
- generate method / Generating gems
- GetBody() function / Losing your ball
- getDictionaryFromPlist method / Loading the rules
- GKSendDataReliable / Sending messages
- glLineWidth parameter / Drawing the grid
- Global Identifier (GID) / Tile self-identification
- gotShot, side scrolling endless runner game / Getting shot with particles
- gotShot message / Collision handling
- Grand Central Dispatch (GCD) / Storing player data
- grid, light cycles of TRON game
- background grid, building / Building the background grid
- drawing / Drawing the grid
- second grid / The second grid
- moving / Moving grids
- glScissor / The glScissor
- grndArray array / Building the ground, Scrolling the tiles
- ground, side scrolling endless runner game
- building / Building the ground
- ERTile class / ERTile class
- gap tiles, adding / Adding gap tiles
- tiles, scrolling / Scrolling the tiles, Parallax background
H
- HD Map
- creating / Creating an HD map
- headColumn variable / Building a better snake, Building the head
- headRow variable / Building a better snake, Building the head
- Heads-Up Display (HUD) layer / Displaying player data
- hero, side scrolling endless runner game
- about / Our hero
- updating / Updating the hero
- death / Death of hero
- hero, top-down scrolling shooter game
- adding / Adding our hero
- focusing on / Focus on the hero
- controlling, with SneakyJoystick / Controlling the hero with SneakyJoystick
- tilt controls / Tilt controls
- controls, implementing / Interpreting the controls
- heroHealth variable / Smarter hero walking
- hideCue method / Building the control base
- highlightGem method / The MAGem class, Collecting touches
- hillBottom object / Defining a molehill
- hillTop sprite / Defining a molehill
- HUD, top-down scrolling shooter game
- building / Building the HUD
I
- @implementation file / Defining a molehill
- if else statement / Breaking bricks, for real, Checking the table
- impulse, brick breaking game / Having a ball
- Info.plist / Custom TTF fonts
- initForBike method / Control buttons
- initForPlayer$ method / Bike rotation
- init method / The MAGem class, Levels and difficulties, Building the background grid, Moving grids, Loading the rules, Adding our hero
- initWithLayer$withLength$ instance method / Dissecting the snake
- initWithRemoteGame method / The playfield
- initWithRows$andColumns$ method / Creating the playfield header, Creating the playfield layer
- inner walls, snake game
- about / Inner walls
- interactivity, memory game
- adding / Adding interactivity
- IntroLayer.m class / Let's build a menu
- invalidateSession method / Peer Picker
- isBallInPlay variable / Multiball
- isDisplayingMsg Boolean variable / Displaying messages
- isEnemy variable / Building the enemy
- isEqualToString variable / Checking for matches
- isFalling boolean variable / Enemies everywhere
- isFalling variable / Updating the hero
- isFlashing check / Our hero
- isFlashing variable / Death of hero
- isFlying boolean variable / Enemies everywhere
- isGameOver variable / Adding interactivity, Everybody gets hit
- isGemBeside method / The MAGem class
- isGemInSameColumn method / The MAGem class
- isGemInSameRow method / The MAGem class
- isGem method / The MAGem class
- isGemSameAs method / The MAGem class
- isHeroBullet Boolean variable / Enemies everywhere
- isHeroBullet variable / Shooting bullets
- isHeroHit Boolean / Collision handling
- isHeroHit variable / Collision handling
- isMemberOfClass method / Rack 'em up
- isMovingRight boolean variable / Enemies everywhere
- isOccupied variable / Mole spawning
- isPaddleDeformed variable / Picking up power-ups, Restoring the paddle
- isShootingRight Boolean variable / Shooting bullets
- isShootingRight variable / Shooting bullets, Enemies everywhere
- isSpecial flag / Special moles
- isSpecial variable / Special moles
- isTableMoving method / Collision handling
- isTableScratch variable / The rules engine
- isTouchBlocked Boolean variable / Collision handling
- isTouchesBlocked variable / Crashing bikes
- isValidTileCoord method / Tile self-identification
J
- James Macanufo
- URL / The game is...
- Johann Fradj
- URL / Code not covered here
- joints, brick breaking game / Basic parts of Box2D
- jumpTimer variable / Updating the hero, Touch controls
K
- kHeroInAir / Animation loading
- kHeroRunning method / Animation loading
- kMoleHit state / Touching moles
- kPocket / Collision handling
L
- LandscapeLeft orientation / Creating the playfield header
- LandscapeRight orientation / Creating the playfield header
- levels, snake game
- about / Levels and difficulties
- level up, checking / Level-up checking
- lifespan, snake game / Dead mice
- light cycles of TRON game
- about / The game is…
- design / Design review
- bike, building / Let's build a bike
- CLBike class / Let's build a bike, CLBike header, Generating the bikes, Upgrading our bikes
- CLDefinitions.h file / Let's build a bike
- typedef enum definition / Let's build a bike
- PlayerID / Let's build a bike
- CLBike header / CLBike header, CLBike implementation
- CLBike.h file / CLBike header
- FileCLBike.h file / CLBike header
- playerNo variable / CLBike header, Control buttons
- CLBike, implementing / CLBike implementation
- CLBike.m file / CLBike implementation, Bike movement, Crashing bikes, Upgrading our bikes
- CLPlayfieldLayer class / CLBike implementation, Boundary walls, Crashing bikes, Bluetooth multiplayer, Upgrading our bikes
- initForPlayer$ method / CLBike implementation, Bike rotation
- bike, rotating / Bike rotation
- self.bikeDirection property / Bike rotation
- bike, turning / Turning the bike
- turnRight method / Turning the bike, Bike integration
- rotateBike method / Turning the bike
- turnLeft method / Turning the bike, Bike integration
- walls, building / Building walls
- boundary walls / Boundary walls
- CLPlayfieldLayer.m file / Boundary walls, The playfield, Collision handling, Peer Picker, Session callbacks, Sending messages
- bike walls / Bike walls
- switch statement / Bike walls, Bike movement
- createWallFromBike method / Bike walls
- self.currentWall property / Bike integration
- walls, integrating / Bike integration
- currentWall property / Bike integration
- bike movement / Bike movement
- moveForDistance method / Bike movement
- bikeSpeed parameter / Bike movement
- currentWall position / Bike movement
- control buttons / Control buttons
- CLButton.h file / Control buttons
- parentBike / Control buttons
- CLButton.m file / Control buttons, Touching buttons, Flashing with blocks, Finishing the buttons
- initForBike method / Control buttons
- buttons, touching / Touching buttons
- CGRect / Touching buttons
- flashButton / Flashing with blocks
- blocks, flashing with / Flashing with blocks
- flashButton method / Flashing with blocks
- CCCallBlock action / Flashing with blocks
- buttons, finishing / Finishing the buttons
- onEnter method / Finishing the buttons
- onExit method / Finishing the buttons
- background grid, building / Building the background grid
- CCRenderTexture / Building the background grid
- ccDrawLine call / Building the background grid
- init method / Building the background grid, Moving grids
- CLRenderGrid.m file / Building the background grid, Drawing the grid, Moving grids, The glScissor
- drawGrid method / Building the background grid
- setBlendFunc / Building the background grid
- grid, drawing / Drawing the grid
- glLineWidth parameter / Drawing the grid
- for statement / Drawing the grid
- ccDrawLine function / Drawing the grid
- CLRenderTexture.m file / The second grid
- grids, moving / Moving grids
- CCRepeatForever action / Moving grids
- glScissor / The glScissor
- playfield / The playfield
- initWithRemoteGame method / The playfield
- bikeWalls array / The playfield
- CLButton class / Generating the bikes
- bikes, generating / Generating the bikes
- generateBlueAsPlayerNoTopicnisRemote$ method / Generating the bikes
- collision, handling / Collision handling
- priorWall object / Collision handling
- update method / Making it move
- bikes, crashing / Crashing bikes
- isTouchesBlocked variable / Crashing bikes
- displayGameOver method / Crashing bikes
- crash method / Crashing bikes
- bluetooth multiplayer / Bluetooth multiplayer
- CLPlayfieldLayer.h (partial) file / Bluetooth multiplayer
- peer picker / Peer Picker
- connectionTypesMask property / Peer Picker
- peer / Peer Picker
- peerPickerControllerDidCancel method / Peer Picker
- invalidateSession method / Peer Picker
- returnToMainMenu method / Peer Picker
- replaceScene method / Peer Picker
- session callbacks / Session callbacks
- playerNumber variable / Session callbacks
- sessionTopicndidReceiveConnectionRequestFromPeer$ method / Session callbacks
- messages, sending / Sending messages, Receiving data
- GKSendDataReliable / Sending messages
- NSKeyedUnarchiver / Receiving data
- receiveData method / Upgrading our bikes
- bikes, upgrading / Upgrading our bikes
- move method / Upgrading our bikes
- sendPacketForMove method / Upgrading our bikes
- moves sending, need for / Why send moves?
- linear damping, brick breaking game / Setting everything in motion
- lives, brick breaking game
- losing, with multiball / Losing lives with multiball
- lives, memory game
- livesArray / Displaying player data
- loadRulesWith$gameName method / Loading the rules
- loadRulesWith method / Loading the rules, Rules.plist
- loseLife method / Storing player data, Displaying player data, Losing lives with multiball
M
- MAGem.h file / The MAGem header
- MAGem.m file / The MAGem class, Generating gems
- MAGem class / Basic gem interaction, The MAGem class
- MAGem class, Match 3 game
- about / The MAGem class
- MAGem header, Match 3 game
- about / The MAGem header
- makeTransition method / Where is the scene?
- MAPlayfieldLayer.m file / Generating gems, Building the playfield, Checking for matches, Collecting touches, Moving gems, Checking moves, Removing gems, The update method, Predictive logic, Artificial randomness
- MAPlayfieldLayer class / The MAGem header, The MAGem class, Generating gems
- markPlayer variable / Player HUD
- Match 3 game
- about / The project is…
- MAGem class / Basic gem interaction, The MAGem class
- gem / Basic gem interaction
- MAGem header / The MAGem header
- @class statement / The MAGem header
- MAPlayfieldLayer class / The MAGem header, The MAGem class, Generating gems
- MAGem.h file / The MAGem header
- typedef section / The MAGem header
- GemType type / The MAGem header
- GemState type / The MAGem header
- typedef enum statement / The MAGem header
- init method / The MAGem class
- MAGem.m file / The MAGem class, Generating gems
- isGemSameAs method / The MAGem class
- isGemInSameRow method / The MAGem class
- isGemInSameColumn method / The MAGem class
- isGemBeside method / The MAGem class
- colNum variable / The MAGem class, Moving gems
- otherGem object / The MAGem class
- isGem method / The MAGem class
- highlightGem method / The MAGem class
- stopHighlightGem method / The MAGem class
- resetGemPosition method / The MAGem class
- GameLayer class / The MAGem class
- gems, generating / Generating gems
- MAPlayfieldLayer.m file / Generating gems, Building the playfield, Checking for matches, Collecting touches, Moving gems, Checking moves, Removing gems, The update method, Predictive logic, Artificial randomness
- GameLayer variable / Generating gems
- addGemForRow$ method / Generating gems
- generateGemsForRowTopicn method / Generating gems
- generate method / Generating gems
- dealloc method / Generating gems
- playfield, building / Building the playfield
- generateGemForRow$ method / Building the playfield
- fixStartingMatches method / Building the playfield
- checkForMatchesOfType method / Building the playfield, Checking for matches, Checking moves, Predictive logic
- gemMatches array / Building the playfield, Checking for matches
- desiredGemState value / Checking for matches
- matches, checking for / Checking for matches
- gemsInPlay array / Checking for matches
- touches, collecting / Collecting touches
- ccTouchBegan method / Collecting touches
- gemsTouched array / Collecting touches, Checking moves
- ccTouchMoved method / Collecting touches
- touchHelper method / Collecting touches
- highlightGem method / Collecting touches
- ccTouchEnded method / Collecting touches
- gems, moving / Moving gems
- swapGem method / Moving gems
- moveToNewSlotForGem method / Moving gems, Removing gems
- gemIsAtRest method / Moving gems
- moves, checking / Checking moves
- gems, removing / Removing gems
- changeGemFace method / Removing gems
- setDisplayFrame method / Removing gems
- removeGem method / Removing gems
- update method / The update method
- checkMove method / The update method
- checkMatches variable / The update method
- addGemsToFillBoard method / The update method, Artificial randomness
- predictive logic / Predictive logic
- checkMovesRemaining method / Predictive logic, Artificial randomness
- movesRemaining variable / Predictive logic
- gemsMoving variable / Artificial randomness
- smartFill method / Artificial randomness
- sentinel values / Artificial randomness
- fillHolesFromGem method / Artificial randomness
- matches, Match 3 game
- checking for / Checking for matches
- matches, memory game
- checking for / Checking for matches
- maxForce variable / Touching the paddle
- maxMoles variable / Mole spawning
- maxTileX value / Scrolling the tiles
- maxTileX variable / Building the ground
- memory game
- about / The project is...
- menu, building / Let's build a menu
- IntroLayer.m class / Let's build a menu
- CCLayer object / Let's build a menu
- CCScene class / Let's build a menu
- CCScene object / Let's build a menu
- CCLayer subclass / Let's build a menu
- MTPlayfieldScene class / Let's build a menu
- startGameXXX method / Let's build a menu
- sceneWithRows$andColumns$ method / Let's build a menu, Building the playfield
- scene / Where is the scene?
- autoreleased object / Where is the scene?
- makeTransition method / Where is the scene?
- MTMenuScene.h file / Where is the scene?
- MTMenuScene class / Building the playfield
- playfield, building / Building the playfield
- sprites / We need sprites
- sprite sheet, building / Building a sprite sheet
- CCSpriteBatchNode class / Building a sprite sheet
- TexturePacker, URL / Building a sprite sheet
- Zwoptex, URL / Building a sprite sheet
- playfield header, creating / Creating the playfield header
- initWithRows$andColumns$ method / Creating the playfield header, Creating the playfield layer
- CGSize size variable / Creating the playfield header
- LandscapeLeft orientation / Creating the playfield header
- LandscapeRight orientation / Creating the playfield header
- playfield layer, creating / Creating the playfield layer
- layerWithRows$andColumns$ method / Creating the playfield layer
- numRows parameter / Creating the playfield layer
- numColumns parameter / Creating the playfield layer
- boardOffsetX variable / Creating the playfield layer
- boardOffsetY variable / Creating the playfield layer
- flow / The flow of the game
- tilesAvailable array / The flow of the game, Loading tiles, Drawing tiles
- tilesInPlay array / The flow of the game, Adding interactivity, Adding lives and game over
- tilesSelected array / The flow of the game, Adding interactivity, Checking for matches
- MTPlayfieldLayer.h file / The flow of the game
- MTPlayfieldLayer.m file / The flow of the game
- NSMutableArray array / The flow of the game
- dealloc method / The flow of the game
- [super dealloc] call / The flow of the game
- super dealloc call / The flow of the game
- tiles, stack / A stack of tiles
- memory tile class / The memory tile class
- @synthesize statement / The memory tile class
- flipTile class / The memory tile class
- showFace class / The memory tile class
- showBack class / The memory tile class
- containsTouchLocation method / The memory tile class
- boundingBox / The memory tile class
- showFace method / The memory tile class
- showBack method / The memory tile class
- flipTile method / The memory tile class
- changeFace method / The memory tile class
- changeTile method / The memory tile class
- tiles, loading / Loading tiles
- faceSpriteName variable / Loading tiles, Checking for matches
- tiles, drawing / Drawing tiles
- anchorPoint / Drawing tiles
- CCSprite object / Drawing tiles
- arc4random() / Drawing tiles
- MTMemoryTile object / Drawing tiles
- tilePosforRow method / Drawing tiles
- ccTouchesEnded method / Adding interactivity, Checking for matches
- interactivity, adding / Adding interactivity
- isGameOver variable / Adding interactivity
- checkForMatch method / Adding interactivity, Checking for matches, Bringing it all together
- array, mutating / Adding interactivity
- matches, checking for / Checking for matches
- isEqualToString variable / Checking for matches
- removeMemoryTile method / Checking for matches
- CCLabelTTF label / Scoring and excitement
- scores / Scoring and excitement
- CCLabelTTF class / Scoring and excitement
- CCLabelBMFont class / Scoring and excitement
- BMFont file / Scoring and excitement
- calculateLivesRemaining method / Scoring and excitement
- scores, animating / Animating the score
- lives, adding / Adding lives and game over
- updateLivesDisplayQuiet method / Adding lives and game over
- CocosDenshion audio engine / It's quiet...too quiet
- application$didFinishLaunchingWithOptions$ method / It's quiet...too quiet
- initWithRows$andColumns$ method / It's quiet...too quiet
- preloadEffect method / It's quiet...too quiet
- menu, memory game
- building / Let's build a menu
- messages, light cycles of TRON game
- sending / Sending messages
- mole, mole thumping game
- building / Building the mole
- spawning / Mole spawning
- special moles / Special moles
- moving / Moving moles
- deleting / Deleting moles
- touching / Touching moles
- scoring / Scoring the mole
- moleGroundY variable / Touching moles
- molehill, mole thumping game
- defining / Defining a molehill
- creating / Making a molehill
- moleHillBottom sprite / Touching moles
- moleHillBottom variable / Making a molehill
- moleHillsInPlay array / Making a molehill, Tying it together
- moleHillTop variable / Making a molehill
- molesInPlay action / Deleting moles
- moleSprite variable / Mole spawning
- moleState variable / Touching moles
- mole thumping game
- about / The project is…
- design / Design approach
- spawn, designing / Designing the spawn
- portrait mode / Portrait mode
- Project Navigator pane / Portrait mode
- TTF fonts, custom / Custom TTF fonts
- Info.plist / Custom TTF fonts
- MXMoleHill object / Defining a molehill, Making a molehill
- molehill, defining / Defining a molehill
- MXMoleHill class / Defining a molehill, Building the mole
- @implementation file / Defining a molehill
- CCSprite object / Defining a molehill
- hillTop sprite / Defining a molehill
- hillBottom object / Defining a molehill
- mole, building / Building the mole
- MXMole class / Building the mole, Special moles, Touching moles
- @class declaration / Building the mole
- MXDefinitions.h file / Building the mole
- molehill, creating / Making a molehill
- MXPlayfieldLayer class / Making a molehill
- moleHillTop variable / Making a molehill
- moleHillBottom variable / Making a molehill
- drawHills method / Making a molehill
- moleHillsInPlay array / Making a molehill, Tying it together
- newHill object / Making a molehill
- newMole object / Making a molehill
- ground, drawing / Drawing the ground
- MXPlayfieldLayer.m file / Drawing the ground, Mole spawning, The animation cache, Combining actions and animation, Deleting moles, Scoring the mole
- anchorPoint / Drawing the ground
- setPosition method / Drawing the ground
- mole, spawning / Mole spawning
- maxMoles variable / Mole spawning
- isOccupied variable / Mole spawning
- moleSprite variable / Mole spawning
- raiseMole method / Mole spawning, Moving moles
- isSpecial variable / Special moles
- isSpecial flag / Special moles
- moles, moving / Moving moles
- CCSpriteBatchNode action / The animation cache
- CCSpriteFrameCache action / The animation cache
- buildAnimations method / The animation cache
- CCAnimation object / The animation cache
- animation, combining / Combining actions and animation
- action, combining / Combining actions and animation
- CCMoveBy action / Combining actions and animation, Simultaneous actions
- moveUp action / Combining actions and animation
- CCRepeatForever action / Combining actions and animation, Scoring the mole
- runAction action / Combining actions and animation
- CCMoveTo action / Simultaneous actions
- CCTintTo action / Simultaneous actions
- CCSequence action / Simultaneous actions, Scoring the mole
- CCCallFuncND action / Deleting moles
- delMole action / Deleting moles
- moles, deleting / Deleting moles
- molesInPlay action / Deleting moles
- resetMole action / Deleting moles
- moles, touching / Touching moles
- MXMole.m file / Touching moles
- CCTouchDispatcher action / Touching moles
- destroyTouchDelgate method / Touching moles
- dealloc method / Touching moles
- moleGroundY variable / Touching moles
- ccTouchBegan method / Touching moles
- moleHillBottom sprite / Touching moles
- moleState variable / Touching moles
- kMoleHit state / Touching moles
- update method / Tying it together
- MXPlayfieldLayer.m / Tying it together
- spawnRest variable / Tying it together
- spawnMole / Tying it together
- mole, scoring / Scoring the mole
- playerScore variable / Scoring the mole
- CCSpawn action / Scoring the mole
- mouseToEat variable / Collisions and eating
- moveForDistance method / Bike movement
- movement, snake game
- handling / Design approach
- move method / Moving the snake, Upgrading our bikes
- moves, light cycles of TRON game
- sending / Why send moves?
- movesRemaining variable / Predictive logic
- moveToNewSlotForGem method / Moving gems, Removing gems
- moveUp action / Combining actions and animation
- MTMemoryTile object / Drawing tiles
- MTMenuScene.h file / Where is the scene?
- MTMenuScene class / Building the playfield
- MTPlayfieldLayer.h file / The flow of the game
- MTPlayfieldLayer.m file / The flow of the game
- MTPlayfieldScene class / Let's build a menu
- multiball, brick breaking game / Multiball
- about / Multiball
- lives, losing with / Losing lives with multiball
- multiball, power-ups / Power-ups, good and bad
- multiballCounter variable / Multiball, Losing lives with multiball
- MXDefinitions.h file / Building the mole
- MXMole.m file / Touching moles
- MXMole class / Building the mole, Special moles, Touching moles
- MXMoleHill class / Defining a molehill, Building the mole
- MXMoleHill object / Defining a molehill, Making a molehill
- MXPlayfieldLayer.m file / Mole spawning, The animation cache, Combining actions and animation, Deleting moles, Tying it together, Scoring the mole
- MXPlayfieldLayer class / Making a molehill
N
- newBall method / Having a ball
- newHill object / Making a molehill
- newMole object / Making a molehill
- newPattern calculation / Picking a pattern
- NSDictionary / Loading a plist
- NSDictionary stores objects / Rules.plist
- NSKeyedUnarchiver / Receiving data
- NSMutableArray array / The flow of the game
- numColumns parameter / Creating the playfield layer
- numRows parameter / Creating the playfield layer
O
- onEnter method / Finishing the buttons
- one touch control, top-down pool game / One-touch control
- onExit method / Finishing the buttons
- OPControlBase.mm file / Building the control base
- OPControlOneTouch class / One-touch control
- OPControlTwoTouch.mm file / Two-touch control
- OPDefinitions.h file / Building the table
- OPPlayfieldLayer.mm (update, part 1) file / Collision handling
- OPPlayfieldLayer.mm file / Building the rails, Building pockets, Rack 'em up, Building the rack , Player HUD
- OPPlayfieldLayer class / Loading the rules, The rules engine
- OPRulesBase.h file / Loading the rules
- OPRulesBase.mm file / Loading the rules, Rules.plist
- Orthogonal / Tiled – a primer
- otherGem object / The MAGem class
- outer walls, snake game
- about / Outer walls
P
- .plist file / Getting shot with particles
- paddle, brick breaking game
- building / Paddling around
- fixing / Paddle fixture
- touching / Touching the paddle
- deformation / Paddle deformation
- restoring / Restoring the paddle
- paddleBody / Paddling around, Touching the paddle
- paddle contracting, power-ups / Power-ups, good and bad
- paddle expanding, power-ups / Power-ups, good and bad
- paddleFixture object / Paddle fixture
- paddleTimer variable / Picking up power-ups
- parallax background / Parallax background
- parentBike / Control buttons
- parentSegment / Anatomy of a snake segment
- parentSegment variable / Building the body segments
- pattern, brick breaking game
- picking / Picking a pattern
- peer / Peer Picker
- peer picker, light cycles of TRON game
- about / Peer Picker
- peerPickerControllerDidCancel method / Peer Picker
- pendingTable variable / Collision handling, One-touch control
- PhysicsSprite / Rack 'em up
- PhysicsSprite class / Building the rails, Building pockets
- PhysicsSprite object / Having a ball, Setting everything in motion
- plannedHit variable / One-touch control
- player data, brick breaking game
- storing / Storing player data
- displaying / Displaying player data
- Player HUD, top-down pool game
- about / Player HUD
- PlayerID / Let's build a bike
- playerNo variable / CLBike header, Control buttons
- playerNumber variable / Session callbacks
- playerScore variable / Scoring the mole
- playfield, light cycles of TRON game
- about / The playfield
- bikes, creating / Generating the bikes
- collision, handling / Collision handling
- bikes, crashing / Crashing bikes
- playfield, Match 3 game
- building / Building the playfield
- playfield, memory game
- building / Building the playfield
- header, creating / Creating the playfield header
- layer, creating / Creating the playfield layer
- playfield, top-down pool game
- init method / The playfield init method
- plist, brick breaking game
- loading / Loading a plist
- pockets, top-down pool game
- building / Building pockets
- portrait mode, mole thumping game
- about / Portrait mode
- positionForRow$andColumn$ method / Building the head
- positionForRow$ method / Building the head
- position iterations parameter / Setting everything in motion
- power-ups, brick breaking game
- types / Power-ups, good and bad
- paddle expanding / Power-ups, good and bad
- paddle contracting / Power-ups, good and bad
- multiball / Power-ups, good and bad
- building / Power-ups, good and bad
- picking / Picking up power-ups
- preloadEffect method / It's quiet...too quiet
- priorPosition property / Anatomy of a snake segment
- priorPosition variable / Anatomy of a snake segment
- priorWall object / Collision handling
- Project Navigator pane / Portrait mode
- property list (plist) / Building bricks
- PTM_RATIO / Basic parts of Box2D, Building the table
R
- rack, top-down pool game
- building / Building the rack
- RackLayoutType / Building the table
- rails, top-down pool game
- building / Building the rails
- raiseMole method / Mole spawning, Moving moles
- Ray Wenderlich tutorial
- URL / Collision handling
- readPlist method / Loading a plist
- receiveData method / Upgrading our bikes
- removeAllObjects method / Collision handling
- removeGem method / Removing gems
- removeMemoryTile method / Checking for matches
- ReplaceBalls keys / Rules.plist
- replaceScene method / Peer Picker
- resetGemPosition method / The MAGem class
- resetMole action / Deleting moles
- restitution, brick breaking game / Having a ball
- returnToMainMenu method / Peer Picker
- rotateBike method / Turning the bike
- ruleBook dictionary / Rules.plist
- rules, top-down pool game
- loading / Loading the rules
- Rules.plist / Rules.plist
- engine / The rules engine
- runAction action / Combining actions and animation
S
- @synthesize statement / The memory tile class
- scaledVelocity variable / Interpreting the controls
- scene, memory game
- building / Where is the scene?
- scene, top-down scrolling shooter game
- constructing / Scene construction
- sceneWithRows$andColumns$ method / Let's build a menu, Building the playfield
- scores, memory game
- about / Scoring and excitement
- animating / Animating the score
- scrollSpeed value / Scrolling the tiles
- scrollSpeed variable / Adding gap tiles, Scrolling the tiles
- self-identification / Tile self-identification
- self.bikeDirection property / Bike rotation
- self.currentWall property / Bike integration
- sendPacketForMove method / Upgrading our bikes
- sentinel values / Artificial randomness
- session callback methods, light cycles of TRON game / Session callbacks
- setBlendFunc / Building the background grid
- setDisplayFrame method / Removing gems
- SetFixedRotation / Rack 'em up
- Set function / On the edge
- setHeroPos method / Interpreting the controls, Smarter hero walking
- setPhysicsBody / Having a ball
- setPhysicsBody method / Building the rails
- setPosition call / ERTile class
- setPosition method / Drawing the ground, ERTile class, Enemies everywhere
- setPosition override method / Our hero
- setString method / Displaying player data
- shape, brick breaking game / Basic parts of Box2D
- Shoot! button / Two-touch control
- shootButton sprite / Building the control base
- shoot method / Enemies everywhere
- shootTimer / Enemies everywhere
- shootTimer loop / Enemies everywhere
- shotLength variable / Building the control base
- shouldStartMultiball variable / Multiball
- showBack class / The memory tile class
- showBack method / The memory tile class
- showFace class / The memory tile class
- showFace method / The memory tile class
- showGameOver method / Game over, man
- showLevelComplete method / Level-up checking
- side scrolling endless runner game
- about / The game is...
- James Macanufo, URL / The game is...
- design / Design review
- ground, building / Building the ground
- ERPlayfieldLayer.m (addGround , part 1) file / Building the ground
- arc4random() call / Building the ground
- switch statement / Building the ground
- maxTileX variable / Building the ground
- CCSprite class / Building the ground, ERTile class
- grndArray array / Building the ground, Scrolling the tiles
- ERTile class / ERTile class
- ERTile.m file / ERTile class
- topSensor / ERTile class
- defineSensors method / ERTile class, Our hero
- setPosition call / ERTile class
- setPosition method / ERTile class, Enemies everywhere
- gap tiles, adding / Adding gap tiles
- ERPlayfieldLayer.m file / Adding gap tiles, Parallax background, Animation loading, Touch controls, Shooting bullets, Enemies everywhere
- scrollSpeed variable / Adding gap tiles, Scrolling the tiles
- tiles, scrolling / Scrolling the tiles
- ERPlayfieldLayer.m fle / Scrolling the tiles
- scrollSpeed value / Scrolling the tiles
- maxTileX value / Scrolling the tiles
- addGapTiles method / Scrolling the tiles
- parallax background / Parallax background
- ERBackground.h file / Parallax background
- ERBackground class / Parallax background
- CCLayer class / Parallax background
- ERBackground.m file / Parallax background
- useDarkBG method / Parallax background
- bgScrollSpeed value / Parallax background
- ERPlayfieldLayer.m (inside init) file / Parallax background
- ERHero class / Our hero
- spriteWithSpriteFrameName class / Our hero
- ERDefinitions.m file / Our hero
- ERHero.m file / Our hero, Animation loading, Updating the hero, Death of hero
- isFlashing check / Our hero
- stopAllActions method / Our hero
- stateChangeTo method / Our hero
- footSensor variable / Our hero
- fallSensor variable / Our hero, Enemies everywhere
- setPosition override method / Our hero
- animation, loading / Animation loading
- AnimName string / Animation loading
- CCAnimate object / Animation loading
- kHeroRunning method / Animation loading
- kHeroInAir / Animation loading
- hero, updating / Updating the hero
- jumpTimer variable / Updating the hero, Touch controls
- isFalling variable / Updating the hero
- updateHero method / Touch controls, Enemies everywhere
- allowDoubleJump variable / Touch controls
- bullets, shooting / Shooting bullets
- ERBullet.h file / Shooting bullets
- ERBullet class / Shooting bullets
- isShootingRight Boolean variable / Shooting bullets
- isHeroBullet variable / Shooting bullets
- bulletArray array / Shooting bullets
- isShootingRight variable / Shooting bullets, Enemies everywhere
- bulletsToDelete array / Shooting bullets
- EREnemy class / Enemies everywhere
- shoot method / Enemies everywhere
- isHeroBullet Boolean variable / Enemies everywhere
- isFlying boolean variable / Enemies everywhere
- isMovingRight boolean variable / Enemies everywhere
- shootTimer / Enemies everywhere
- EREnemy object / Enemies everywhere
- updateEnemies method / Enemies everywhere
- isFalling boolean variable / Enemies everywhere
- shootTimer loop / Enemies everywhere
- collision, handling / Collision handling
- ERPlayfieldLayer.m (checkCollisions, part 1) file / Collision handling
- isHeroHit Boolean / Collision handling
- ERPlayfieldLayer.m (checkCollisions, part 2) file / Collision handling
- boundingBox / Collision handling
- isHeroHit variable / Collision handling
- gotShot message / Collision handling
- enemiesToDelete array / Collision handling
- removeAllObjects method / Collision handling
- EREnemy.m file / Getting shot with particles
- .plist file / Getting shot with particles
- CCParticleSystemQuad object / Getting shot with particles
- gameOver method / Death of hero
- isFlashing variable / Death of hero
- smartFill method / Artificial randomness
- snake, snake game
- building / Building a better snake
- anatomy / Anatomy of a snake segment
- dissection / Dissecting the snake
- head, building / Building the head
- body segments, building / Building the body segments
- moving / Moving the snake
- turning / Turning the snake
- death / Death of a snake
- environment, building / Building the environment
- controlling / Level-up checking
- snakeBody array / Building the body segments, Moving the snake
- snake class / Design approach
- snakeCrash method / Collisions and eating
- snakeDirection variable / Moving the snake, Turning the snake
- snake food, snake game
- building / Building snake food
- snake game
- about / The project is…
- design / Design approach
- building / Building a better snake
- FileSNSnake.h file / Building a better snake
- SnakeHeading variable type / Building a better snake
- SNDefinitions.h file / Building a better snake
- SnakeHeading type / Building a better snake
- headRow variable / Building a better snake, Building the head
- headColumn variable / Building a better snake, Building the head
- addSegment method / Building a better snake, Dissecting the snake, Building the body segments
- @class declaration / Building a better snake
- SNPlayfieldLayer class / Building a better snake, Levels and difficulties
- createWithLayer$withLength$ method / Building a better snake
- SNSnake implementation / Anatomy of a snake segment
- anatomy / Anatomy of a snake segment
- priorPosition variable / Anatomy of a snake segment
- priorPosition property / Anatomy of a snake segment
- parentSegment / Anatomy of a snake segment
- SNSnakeSegment.m file / Anatomy of a snake segment
- CCSprite setPosition method / Anatomy of a snake segment
- createWithLayer$withLength$ class method / Dissecting the snake
- dissecting / Dissecting the snake
- initWithLayer$withLength$ instance method / Dissecting the snake
- SNSnake.m file / Dissecting the snake, Building the body segments, Moving the snake
- startLength variable / Dissecting the snake
- addSegment loop / Dissecting the snake
- addHead method / Building the head, Building the body segments
- head, building / Building the head
- positionForRow$ method / Building the head
- body segments, building / Building the body segments
- parentSegment variable / Building the body segments
- snakeBody array / Building the body segments, Moving the snake
- snake, moving / Moving the snake
- move method / Moving the snake
- SNDefinition.h file / Moving the snake
- snakeDirection variable / Moving the snake, Turning the snake
- ccpAdd function / Moving the snake
- SNSnakeSegment class / Moving the snake
- snake, turning / Turning the snake
- switch statement / Turning the snake
- turnRight command / Turning the snake
- snake, death / Death of a snake
- environment, building / Building the environment
- outer walls, building / Outer walls
- wallsOnField array / Outer walls, Inner walls
- inner walls, building / Inner walls
- SNPlayfieldLayer.m array / Inner walls
- CGRect / Inner walls
- SNSnake class / Inner walls
- snake food, building / Building snake food
- SNMouse.m file / Building snake food
- createWall method / Building snake food, Collisions and eating
- SNPlayfieldLayer.m file / Building snake food, But…how do we control the snake?
- collision, detecting / Collisions and eating
- createMouse method / Collisions and eating
- checkForCollisions method / Collisions and eating
- CGRectIntersectsRect / Collisions and eating
- snakeCrash method / Collisions and eating
- mice, eating / Collisions and eating
- mouseToEat variable / Collisions and eating
- levels / Levels and difficulties
- init method / Levels and difficulties
- issues / Levels and difficulties
- speed / Levels and difficulties
- update method / The main loop
- main loop / The main loop
- stepTime variable / The main loop
- level up, checking / Level-up checking
- showLevelComplete method / Level-up checking
- lifespan / Dead mice
- dead mice / Dead mice
- snake, controlling / But…how do we control the snake?
- ccTouchBegan / But…how do we control the snake?
- ccTouchEnded / But…how do we control the snake?
- SnakeHeading type / Building a better snake
- SnakeHeading variable type / Building a better snake
- snake object / Design approach
- SNDefinition.h file / Moving the snake
- SNDefinitions.h file / Building a better snake
- SneakyJoystick class
- SNMouse.m file / Building snake food
- SNPlayfieldLayer.m array / Inner walls
- SNPlayfieldLayer.m file / Building snake food, But…how do we control the snake?
- SNPlayfieldLayer class / Building a better snake, Levels and difficulties
- SNSnake.m file / Dissecting the snake, Building the body segments, Moving the snake
- SNSnake class / Inner walls
- SNSnake implementation / Anatomy of a snake segment
- SNSnakeSegment.m file / Anatomy of a snake segment
- SNSnakeSegment class / Moving the snake
- spawn, mole thumping game
- designing / Designing the spawn
- spawn layer / Spawn layer
- spawnMole / Tying it together
- spawnRest variable / Tying it together
- sprite, memory game
- about / We need sprites
- sprite sheet, building / Building a sprite sheet
- spriteDestroy method / Destruction, Breaking bricks, for real, Restoring the paddle
- spriteWithSpriteFrameName class / Our hero
- startGameXXX method / Let's build a menu
- startPos variable / Rack 'em up
- stateChangeTo method / Our hero
- step function, brick breaking game / Setting everything in motion
- stepTime variable / The main loop
- stickPosition / Controlling the hero with SneakyJoystick
- stopAllActions method / Our hero
- stopHighlightGem method / The MAGem class
- super dealloc call / The flow of the game
- swapGem method / Moving gems
- switch statement / Turning the snake, Bike walls, Bike movement, Building the ground
T
- table, top-down pool game
- building / Building the table
- checking / Checking the table
- tag definition / Having a ball
- tag property / Power-ups, good and bad
- TDBullet.m file / TDBullet class
- TDBullet class / Adding our hero
- TDControlLayer.m file / Controlling the hero with SneakyJoystick, Tilt controls
- TDEnemy.m file / Building the enemy
- TDEnemy class / Building the enemy
- TDHero.h file / Adding our hero
- TDHero.m file / Adding our hero
- TDHero class / TDBullet class
- TDHUDLayer.m file / Building the HUD
- TDPlayfieldLayer / Adding our hero
- TDPlayfieldLayer.h (partial) file / Implementing the tilemap
- TDPlayfieldLayer.m (partial) file / Implementing the tilemap
- TDPlayfieldLayer.m file / Implementing the tilemap, Adding our hero, Interpreting the controls, Tile helper methods, Tile self-identification, Smarter hero walking, Time for bullets, Collision handling
- TDPlayfieldLayer class / Interpreting the controls
- TDPlayfieldScene.m file / Scene construction
- TexturePacker
- URL / Building a sprite sheet
- tiled, top-down scrolling shooter game / Tiled – a primer
- about / Tiled – a primer
- ground, drawing / Drawing the ground
- logi layers / Logic layers
- spawn layer / Spawn layer
- TMX Format / Understanding TMX format
- HD Map, creating / Creating an HD map
- tile helper methods, top-down scrolling shooter game
- about / Tile helper methods
- tile self-identification / Tile self-identification
- smarter hero walking / Smarter hero walking
- tilemap, top-down scrolling shooter game
- implementing / Implementing the tilemap
- tilePosforRow method / Drawing tiles
- tiles, memory game
- about / A stack of tiles
- memory tile class / The memory tile class
- loading / Loading tiles
- drawing / Drawing tiles
- tilesAvailable array / The flow of the game, Loading tiles, Drawing tiles
- Tilesets window / Tiled – a primer
- tilesInPlay array / The flow of the game, Adding interactivity, Adding lives and game over
- tilesSelected array / The flow of the game, Adding interactivity, Checking for matches
- tile_markers.png / Logic layers
- time step parameter / Setting everything in motion
- tmpPattern array / Picking a pattern
- TMX Format / Understanding TMX format
- toDestroy vector / Destruction, Breaking bricks, for real
- top-down pool game
- about / The game is…
- design / Overall design, Building the table
- OPDefinitions.h file / Building the table
- typedef enum statement / Building the table
- RackLayoutType / Building the table
- PTM_RATIO / Building the table
- Box2D world / The Box2D world
- rails, building / Building the rails
- OPPlayfieldLayer.mm file / Building the rails, Building pockets, Creating the cue stick, Rack 'em up, Building the rack , Player HUD
- PhysicsSprite class / Building the rails, Building pockets
- setPhysicsBody method / Building the rails
- createRailWithImage method / Building the rails
- pockets, building / Building pockets
- cue stick, creating / Creating the cue stick
- rules, loading / Loading the rules
- OPRulesBase.h file / Loading the rules
- OPPlayfieldLayer class / Loading the rules, The rules engine
- OPRulesBase.mm file / Loading the rules, Rules.plist
- init method / Loading the rules
- loadRulesWith$gameName method / Loading the rules
- loadRulesWith method / Loading the rules, Rules.plist
- getDictionaryFromPlist method / Loading the rules
- Rules.plist / Rules.plist
- ruleBook dictionary / Rules.plist
- NSDictionary stores objects / Rules.plist
- ReplaceBalls keys / Rules.plist
- BallID variable / Rack 'em up
- startPos variable / Rack 'em up
- PhysicsSprite / Rack 'em up
- isMemberOfClass method / Rack 'em up
- SetFixedRotation / Rack 'em up
- rack, building / Building the rack
- Player HUD / Player HUD
- markPlayer variable / Player HUD
- ballSpritesOnTable method / Player HUD
- displayMessage method / Player HUD
- messages, displaying / Displaying messages
- dismissMessage method / Displaying messages
- isDisplayingMsg Boolean variable / Displaying messages
- collision, handling / Collision handling
- update method / Collision handling
- OPPlayfieldLayer.mm (update, part 1) file / Collision handling
- kPocket / Collision handling
- isTouchBlocked Boolean variable / Collision handling
- checkTable method / Collision handling, Putting balls back, Checking the table
- pendingTable variable / Collision handling, One-touch control
- isTableMoving method / Collision handling
- control base, building / Building the control base
- shotLength variable / Building the control base
- aimAtPoint variable / Building the control base, Two-touch control
- cueBallInHand sprite / Building the control base, One-touch control
- OPControlBase.mm file / Building the control base
- ccpToAngle function / Building the control base
- CC_RADIANS_TO_DEGREES() / Building the control base
- shootButton sprite / Building the control base
- hideCue method / Building the control base
- OPControlOneTouch class / One-touch control
- one touch control / One-touch control
- ccTouchBegan method / One-touch control
- ccTouchMoved method / One-touch control
- ccTouchEnded method / One-touch control, Two-touch control
- plannedHit variable / One-touch control
- two touch control / Two-touch control
- Shoot! button / Two-touch control
- visible property / Two-touch control
- OPControlTwoTouch.mm file / Two-touch control
- rules engine / The rules engine
- ballsSunk array / The rules engine
- didSinkLastBall method / The rules engine
- isTableScratch variable / The rules engine
- didSinkValidBall method / The rules engine
- table, checking / Checking the table
- if else statement / Checking the table
- playfield init method / The playfield init method
- initWithControl$andRules$ method / The playfield init method
- top-down pool game$initWithControl
- andRules$ method / The playfield init method
- top-down scrolling shooter game
- about / The game is…
- design / Design review
- A* Pathfinding algorithm / Design review
- tiled / Tiled – a primer
- Orthogonal / Tiled – a primer
- Tilesets window / Tiled – a primer
- ground, drawing / Drawing the ground
- tile_markers.png / Logic layers
- logic layers / Logic layers
- spawn layer / Spawn layer
- TMX Format / Understanding TMX format
- HD Map, creating / Creating an HD map
- tilemap, implementing / Implementing the tilemap
- TDPlayfieldLayer.h (partial) file / Implementing the tilemap
- TDPlayfieldLayer.m (partial) file / Implementing the tilemap
- TDPlayfieldLayer.m file / Implementing the tilemap, Adding our hero, Interpreting the controls, Tile helper methods, Tile self-identification, Smarter hero walking, Time for bullets, Collision handling
- hero, adding / Adding our hero
- TDHero.h file / Adding our hero
- TDHero.m file / Adding our hero
- hero, controlling with SneakyJoystick / Controlling the hero with SneakyJoystick
- TDControlLayer.m file / Controlling the hero with SneakyJoystick, Tilt controls
- title controls / Tilt controls
- addTiltControl method / Tilt controls
- accelerometer$didAccelerate$ method / Tilt controls
- TDPlayfieldLayer class / Interpreting the controls
- controls, interpreting / Interpreting the controls
- scaledVelocity variable / Interpreting the controls
- setHeroPos method / Interpreting the controls, Smarter hero walking
- HUD, building / Building the HUD
- TDHUDLayer.m file / Building the HUD
- scene, constructing / Scene construction
- TDPlayfieldScene.m file / Scene construction
- tile helper methods / Tile helper methods
- self-identification / Tile self-identification
- tile self-identification / Tile self-identification
- isValidTileCoord method / Tile self-identification
- Global Identifier (GID) / Tile self-identification
- hero, walking / Smarter hero walking
- _pickups layer / Smarter hero walking
- _triggers layer / Smarter hero walking
- heroHealth variable / Smarter hero walking
- changeHealthToTopicn method / Smarter hero walking
- bullets / Time for bullets
- TDBullet class / TDBullet class
- TDBullet.m file / TDBullet class
- CCSprite subclass / TDBullet class
- totalMoveDist variable / TDBullet class
- TDHero class / TDBullet class
- enemy, building / Building the enemy
- TDEnemy.m file / Building the enemy
- TDEnemy class / Building the enemy
- isEnemy variable / Building the enemy
- update method / Building the enemy
- enemies, adding / Adding the enemies
- collision, handling / Collision handling
- bulletsToDelete array / Collision handling
- isGameOver variable / Everybody gets hit
- game over, conditions / Game over, man
- TDControlLayer class / Game over, man
- showGameOver method / Game over, man
- A* Pathfinding / Smarter enemies
- enemies / Smarter enemies
- Johann Fradj, URL / Code not covered here
- coding / Code not covered here
- topSensor / ERTile class
- totalMoveDist variable / TDBullet class
- touch controls, side scrolling endless runner game / Touch controls
- touches, Match 3 game
- collecting / Collecting touches
- touchHelper method / Collecting touches
- TTF fonts, mole thumping game
- custom / Custom TTF fonts
- turnLeft method / Turning the bike, Bike integration
- turnRight command / Turning the snake
- turnRight method / Turning the bike, Bike integration
- two touch control, top-down pool game / Two-touch control
- typedef enum statement / The MAGem header, Building the table
U
- updateEnemies method / Enemies everywhere
- updateHero method / Touch controls, Enemies everywhere
- update method / The update method, Tying it together, The main loop, Making it move, Collision handling, Building the enemy
- update method, Match 3 game / The update method
- update method, mole thumping game / Tying it together
- useDarkBG method / Parallax background
- userData / Having a ball
V
- velocity iterations parameter / Setting everything in motion
- visible property / Two-touch control
W
- wallBody / Paddling around, Touching the paddle
- wallBodyDef / On the edge
- walls, light cycles of TRON game
- building / Building walls
- boundary / Boundary walls
- bike walls / Bike walls
- bike, integrating / Bike integration
- bike, movement / Bike movement
- wallsOnField array / Outer walls, Inner walls
- world, brick breaking game
- about / Basic parts of Box2D
- building / World building
Z
- Zwoptex
- URL / Building a sprite sheet