Index
A
- A* implementation
- requisites / The A* path-finding algorithm
- about / Implementing A*
- PathNode class, adding / Time for action – the PathNode class
- beginning / Time for action – beginning the implementation of A*
- path, finding / Time for action – finding the path
- adjacent squares / Time for action – adjacent squares
- AddComputerTerminal() method / What just happened?
- AddExplosion() method / Time for action – creating explosions, What just happened?
- AddLargeExplosion() method / What just happened?
- addNodeToOpenList() method / Time for action – beginning the implementation of A*
- AddShot() method / Time for action – beginning the WeaponManager class
- AddSparkEffect() method / Time for action – spark effects
- AddWaypoint() method / Time for action – waypoint management
- alpha blending
- about / Sprites and sprite sheets
- animated pieces
- about / Animated pieces
- classes / Classes for animated pieces
- managing / Managing animated pieces
- GameBoard, updating / Time for action – updating GameBoard to support animatedpieces, What just happened?
- fading pieces / Fading pieces
- falling pieces / Falling pieces
- rotating pieces / Rotating pieces
- updating / Time for action – updating Game1 to update animated pieces
- drawing / Drawing animated pieces, Time for action – update Game1 to draw animated pieces
- drawing, SpriteBatch overloads used / SpriteBatch overloads
- AnimateWhenStopped member / What just happened?
- Animation class
- building / Time for action – building the Animation class
- using directives, adding / Time for action – building the Animation class
- declaration, modifying / Time for action – building the Animation class
- declarations, adding / Time for action – building the Animation class
- properties, adding / Time for action – building the Animation class
- constructor, adding / Time for action – building the Animation class
- public methods, adding / Time for action – building the Animation class
- ArePiecesAnimating() method
- about / Time for action – updating GameBoard to support animatedpieces
- Asteroid Belt Assault
- about / Overview of the games
- Asteroid Belt Assault project
- creating / Creating the project, Time for action – creating the Asteroid Belt Assault project
- Sprite class, building / Another definition for "sprite"
- sprite-based star field, creating / A sprite-based star field
- asteroid field, creating / Animated sprites – asteroids
- ShotManager class / Player and enemy shots
- PlayerManager class / Adding the player
- EnemyManager class / Enemy ships
- explosion effects, implementing / Explosion effects
- Particle class, constructing / Time for action – constructing the Particle class
- CollisionManager class / The collision manager
- sound effects / Sound effects
- game structure / The game structure
- AsteroidManager class
- about / Animated sprites – asteroids
- building / Time for action – building the AsteroidManager class
- declarations, adding / Time for action – building the AsteroidManager class
- helper method, adding / Time for action – building the AsteroidManager class
- second helper function, adding / Time for action – building the AsteroidManager class
- constructor, adding / Time for action – building the AsteroidManager class
- asteroids, positioning / Positioning the asteroids
- asteroids, colliding / Colliding asteroids
- BounceAsteroids() method, adding / Time for action – bouncing asteroids – part 1
- asteroids
- positioning / Positioning the asteroids, Time for action – positioning the asteroids, What just happened?
- position, checking / Time for action – checking the asteroid's position, What just happened?
- drawing / Time for action – updating and drawing asteroids
- updating / Time for action – updating and drawing asteroids
- colliding / Colliding asteroids
B
- baseAngle vector / What just happened?
- BaseSprite / What just happened?
- Begin() pair / What just happened?
- BounceAsteroids() method
- about / Time for action – bouncing asteroids – part 1, What just happened?
- BoundingBox class / What just happened?
- BoundingBoxRect property / What just happened?
C
- camera class
- creating / Defining a camera, Time for action – creating the Camera class
- Camera class
- adding, to title engine project / Time for action – the Camera class
- using directive, adding / Time for action – the Camera class
- declaration, modifying / Time for action – the Camera class
- declarations, adding / Time for action – the Camera class
- properties, adding / Time for action – the Camera class
- methods, adding / Time for action – the Camera class
- checkAsteroidToPlayerCollisions() method / Time for action – player collisions
- CheckChanged event / Time for action – completing the editor – part 1
- CheckCollisions() method / Time for action – using the CollisionManager class
- checkCurrentCellCode() helper method / Time for action – handling codes
- checkEnemyToPlayerCollisions() method / Time for action – player collisions
- checkLevelTransition() method / What just happened?
- checkPowerupPickups() method / Time for action – power-ups
- checkPowerupSpawns() method / Time for action – power-ups
- checkRocketSplashDamage() method / Time for action – awarding points
- CheckScoringChain() method / Time for action – generating fading pieces, Time for action – updating and displaying ScoreZooms, Time for action – adding difficulty levels
- CheckScoringRow() method / What just happened?
- checkShotEnemyImpacts () method / Time for action – awarding points
- checkShotToAsteroid() method / Time for action – player shot collisions
- checkShotToEnemy() method / Time for action – player shot collisions
- checkShotToPlayerCollision() method / Time for action – player collisions
- checkWeaponUpgradExpire() method / Time for action – new weapons
- Child classes
- about / Classes for animated pieces
- CircleCollision() method / What just happened?, What just happened?
- class declaration area
- variables, adding / Time for action – adding variables to the class declaration area
- classes, for animated pieces
- creating / Classes for animated pieces
- about / Classes for animated pieces
- classes, for fading pieces
- creating / Time for action – fading pieces
- classes, for falling pieces
- creating / Time for action – falling pieces
- classes, for rotating pieces
- creating / Time for action – rotating pieces
- ClearBoard() helper method / What just happened?
- ClearBoard() member / What just happened?
- Click event handler / Time for action – completing the editor – part 1
- Code Folding / What just happened?
- collision detection
- supporting / Collision detection, Time for action – supporting collision detection
- collision manager
- about / The collision manager
- CollisionManager class
- about / The collision manager
- creating / Time for action – creating the CollisionManager class
- declarations, adding / Time for action – creating the CollisionManager class
- constructor, adding / Time for action – creating the CollisionManager class
- checkShotToEnemy() method, adding / Time for action – player shot collisions
- checkShotToAsteroid() method, adding / Time for action – player shot collisions
- checkShotToPlayerCollision() method, adding / Time for action – player collisions
- checkEnemyToPlayerCollisions() method, adding / Time for action – player collisions
- checkAsteroidToPlayerCollisions() method, adding / Time for action – player collisions
- CheckCollisions() method, adding / Time for action – using the CollisionManager class
- collisions
- types / Handling collisions
- handling / Handling collisions
- player shot collisions / Time for action – player shot collisions
- player collisions / Time for action – player collisions
- colors / What just happened?
- ComputerTerminal class
- adding , to robot rampage project / Time for action – building a computer terminal
- using directives, adding / Time for action – building a computer terminal
- declarations, adding / Time for action – building a computer terminal
- constructor, adding / Time for action – building a computer terminal
- public methods, adding / Time for action – building a computer terminal
- constants
- vs. numeric literals / What just happened?
- Contains() method / What just happened?
- Content Pipeline
- about / Introducing the Content Pipeline
- textures, reading into memory / Time for action – reading textures into memory
- createLargeExplosion() method / Time for action – shots colliding with tiles
- currentSquare / What just happened?
D
- Dequeue() method
- about / What just happened?
- Deserialize() method / What just happened?
- Destination property / What just happened?
- DetectShutdowns () method / Time for action – awarding points
- DetectShutdowns() method / What just happened?
- DetermineScore() / What just happened?
- Dictionary
- about / Managing animated pieces
- difficulty levels
- adding, to game / Difficulty levels, Time for action – adding difficulty levels, What just happened?
- directives
- using / What just happened?
- Draw() method / The LoadContent() method, The Draw() method, Time for action – drawing the screen – the title screen, What just happened?, Time for action – building a new Sprite class, Time for action – the TileMap class – part 3
- about / Time for action – updating and drawing shots, What just happened?
E
- EffectsManager class
- about / The EffectsManager class
- adding, to robot rampage project / Time for action – the EffectsManager class
- using directives, adding / Time for action – the EffectsManager class
- declaration, modifying / Time for action – the EffectsManager class
- declarations, adding / Time for action – the EffectsManager class
- initialize() method, adding / Time for action – the EffectsManager class
- RandomDirection() method, adding / Time for action – the EffectsManager class
- updating / Time for action – the EffectsManager class
- elastic collision
- implementing / Colliding asteroids
- bouncing asteroids / Time for action – bouncing asteroids – part 1, What just happened?, Time for action – bouncing asteroids – part 2
- End() pair / What just happened?
- enemy AI methods / Time for action – enemy AI methods
- Enemy class
- about / Enemy ships
- creating / Time for action – creating the Enemy class
- declarations, adding / Time for action – creating the Enemy class, Time for action – building the Enemy class
- constructor, adding / Time for action – creating the Enemy class, Time for action – building the Enemy class
- AddWaypoint() method, adding / Time for action – waypoint management
- waypoint management / Time for action – waypoint management
- WaypointReached() method, adding / Time for action – waypoint management
- IsActive() method, adding / Time for action – waypoint management
- Update() method, adding / Time for action – enemy update and draw
- Draw() method, adding / Time for action – enemy update and draw
- building / Time for action – building the Enemy class
- using directive, adding / Time for action – building the Enemy class
- upodating / Time for action – building the Enemy class
- movement related methods, adding / Time for action – enemy AI methods
- EnemyManager class
- about / The EnemyManager class
- creating / Time for action – creating the EnemyManager class
- declarations, adding / Time for action – creating the EnemyManager class, Time for action – the enemy manager
- setting up / Time for action – setting up the EnemyManager class
- updating / Time for action – updating and drawing the EnemyManager, Time for action – the enemy manager
- drawing / Time for action – updating and drawing the EnemyManager
- adding, to robot rampage project / Time for action – the enemy manager
- Initialize() method, adding / Time for action – the enemy manager
- AddEnemy() method, adding / Time for action – the enemy manager
- enemy robots, robot rampage project
- adding / Enemy robots
- enemy basics / Enemy basics
- enemies, moving / Moving enemies
- EnemyManager class / The enemy manager
- WeaponManager class, updating / Updating the WeaponManager, Time for action – destroying enemies
- Enqueue() method
- about / What just happened?
- exitToolStripMenuItem_Click() event handler / Time for action – creating the menu bar
- explosion effects, Asteroid Belt Assault project
- about / Explosion effects
- particle system, designing / Expanding on sprites – particles
- particle-based explosions, building / Particle explosions
- ExplosionManager class
- about / Particle explosions
- declarations, adding / Time for action – the ExplosionManager class
- constructor, adding / Time for action – the ExplosionManager class
- RandomDirection() helper method, adding / Time for action – creating explosions
- explosions, creating / Time for action – creating explosions
- AddExplosion() method, adding / Time for action – creating explosions
- updating / Time for action – updating and drawing explosions
- drawing / Time for action – updating and drawing explosions
F
- FadingPiece class
- about / Time for action – fading pieces
- fading pieces
- generating / Time for action – generating fading pieces
- adding / What just happened?
- FallingPiece class
- about / Time for action – falling pieces
- falling pieces
- about / Falling pieces
- generating / Time for action – generating falling pieces
- FillFromAbove() method / Time for action – generating falling pieces
- FillPiece() method / What just happened?
- findAdjacentNodes() method / What just happened?, Time for action – adjacent squares
- FindPath() method / Time for action – finding the path, What just happened?
- FireShot() helper method / Time for action – handling user input
- FireShot() method
- about / What just happened?
- FireWeapon() method / Time for action – beginning the WeaponManager class
- FixScrollBarScales() helper method / Time for action – scroll bars
- flood
- tracking / Time for action – tracking the flood, What just happened?
- displaying / Displaying the flood, Time for action – displaying the flood, What just happened?
- Flood Control
- about / Overview of the games
- Flood Control game
- project, setting up / Time for action – set up the Flood Control project, What just happened?
- Content Pipeline / Introducing the Content Pipeline
- classes / Classes used in Flood Control
- GamePiece class / The GamePiece class
- water filled pipes / Water filled pipes
- water, propogating / Propagating water
- building / Building the game
- animated pieces, adding / Animated pieces
- SpriteFonts, adding / SpriteFonts
- GameOver game state, adding / Adding the GameOver game state, Time for action – game over
- flood, tracking / Time for action – tracking the flood
- difficulty levels, adding / Difficulty levels, Time for action – adding difficulty levels, What just happened?
- Flood Control game, building
- Game1 declarations / Time for action – Game1 declarations, What just happened?
- Initialize() method, updating / Initialization
- Draw() method / The Draw() method – the title screen, The Draw() method – the play screen
- screen, drawing / Time for action – drawing the screen – the title screen, What just happened?, Time for action – drawing the screen – the play screen, What just happened?
- scores / Time for action – scores and scoring chains, What just happened?
- scoring chains / Time for action – scores and scoring chains, What just happened?
- mouse input, handling / Input handling, What just happened?
- player, letting to play / Time for action – letting the player play, What just happened?
- playing / Play the game
- FormClosed event
- handing / Time for action – handling the FormClosed event
- frame-based animations
- about / Animation and movement
- animation frames, adding / Time for action – adding animation frames
- Sprite, updating / Time for action – updating the Sprite, What just happened?
- Sprite, drawing / Time for action – drawing the Sprite, What just happened?
G
- game
- building / Building your first game
- Windows game project, creating / Time for action – creating a new Windows game project, What just happened?
- Game1 class
- resetGame() helper function, adding / Time for action – structuring the game
- updating / Time for action – updating the Game1 class
- checkPlayerDeath() method, adding / Time for action – updating the Game1 class
- Game1 class, map editor project
- updating / Updating the Game1 class, Time for action – updating Game1
- Game1 Update method / Time for action – the Game1 Update method
- GameBoard class
- about / The GameBoard class
- GameBoard.cs class, creating / Time for action – create the GameBoard.cs class, What just happened?
- game board, creating / Creating the game board
- game board, initializing / Time for action – initialize the game board, What just happened?
- GamePieces, updating / Updating GamePieces
- game board, manipulating / Time for action – manipulating the game board
- gaps, filling in / Time for action – filling in the gaps, What just happened?
- new pieces, generating / Time for action – generating new pieces, What just happened?
- water filled pipes / Water filled pipes, What just happened?
- water, propogating / Propagating water
- connection, making / Time for action – making the connection, What just happened?
- gameBoardDisplayOrigin vector / What just happened?
- gameForm_VisibleChanged() method / What just happened?
- GameManager class
- adding, to robot rampage project / Time for action – the GameManager class
- declaration, modifying / Time for action – the GameManager class
- declarations, adding / Time for action – the GameManager class
- public methods, adding / Time for action – the GameManager class
- GameObject class
- about / Animated game objects
- building / Animated game objects
- using directives, adding / Time for action – building the GameObject class – Part 1
- declaration, modifying / Time for action – building the GameObject class – Part 1
- declarations, adding / Time for action – building the GameObject class – Part 1
- properties, adding / Time for action – building the GameObject class – Part 1
- updateAnimation() helper method, adding / Time for action – building the GameObject class – part 2
- public methods, adding / Time for action – building the GameObject class – part 2
- map-based collision detection methods, adding / Time for action – building the GameObject class – part 3
- GameOver game state
- adding / Adding the GameOver game state, Time for action – game over
- GamePiece class
- about / The GamePiece class, Classes for animated pieces
- identifying / Identifying a GamePiece
- building / Time for action – build a GamePiece class – declarations, What just happened?
- creating / Creating a GamePiece
- constructors, building / Time for action – building a GamePiece class: constructors
- updating / Updating a GamePiece
- methods, updating / Time for action – GamePiece class methods – part 1 – updating
- methods, rotating / Time for action – GamePiece class methods – part 2 – rotation, What just happened?
- pipe connectors / Pipe connectors
- connection, methods / Time for action – GamePiece class methods – part 3 – connection methods
- GetSourceRect / Time for action – GamePiece class methods – part 4 – GetSourceRect, What just happened?
- games
- overview / Overview of the games
- Flood Control / Overview of the games
- Asteroid Belt Assault / Overview of the games
- Robot Rampage / Overview of the games
- Gemstone Hunter / Overview of the games
- requisites / System requirements
- requisites, optional / System requirements
- game structure, Asteroid Belt Assault project
- about / The game structure, Time for action – structuring the game
- drawing / Time for action – drawing the game structure
- game structure, Gemstone Hunter project
- about / Game structure
- game states, implementing / Time for action – implementing game states
- game structure, robot rampage project
- about / Game structure
- score keeping / Keeping score
- Game1, updating / Updating Game1
- Gemstone class
- building / Time for action – building the Gemstone class
- using directives, adding / Time for action – building the Gemstone class
- declaration, modifying / Time for action – building the Gemstone class
- constructor, adding / Time for action – building the Gemstone class
- Gemstone Hunter
- about / Overview of the games
- Gemstone Hunter project
- graphics, borrowing / Borrowing graphics
- projects, creating / Time for action – creating projects
- advanced tile engine, constructing / A more advanced tile engine
- tile engine project, constructing / A more advanced tile engine, Constructing the tile engine
- camera, rebuilding / Rebuilding the camera
- tile map, drawing / Drawing the tile map
- map editor project / The map editor project
- animation strips / Animation strips
- animated game objects / Animated game objects
- movement / Drawing, animation, and movement
- animation / Drawing, animation, and movement
- drawing / Drawing, animation, and movement
- player, creating / The Player
- levels, loading / Loading levels
- gemstones, building / Gemstones
- score tracking, implementing / Time for action – implementing score tracking
- property, adding / Time for action – implementing score tracking
- enemies, creating / Enemies
- zombies, summoning up / Time for action – summoning up the zombies
- player-enemy interaction / Player-enemy interaction
- level transitions / Level transitions, Time for action – supporting map transitions
- other codes, processing / Processing other codes
- map codes, handling / Processing other codes
- game structure / Game structure
- GenerateNewPieces() / What just happened?
- GenerateNewPieces() method / Time for action – generating falling pieces
- GenerateRandomMap() / Time for action – random wall placement
- GenerateRandomMap() method / What just happened?
- GetSourceRect() method / Time for action – GamePiece class methods – part 4 – GetSourceRect, What just happened?
- GetWaterChain() method / Time for action – making the connection
- GoalManager class
- adding , to robot rampage project / Time for action – the GoalManager class
- using directives, adding / Time for action – the GoalManager class
- declaration, modifying / Time for action – the GoalManager class
- declarations, adding / Time for action – the GoalManager class
- read-only property, adding / Time for action – the GoalManager class
- Initialize() method, adding / Time for action – the GoalManager class
- public methods, adding / Time for action – the GoalManager class
- updating / Time for action – the GoalManager class
- DetectShutdowns () method, adding / Time for action – awarding points
- graphics object / The declarations area
- graphics_PreparingDeviceSettings() event handler / Time for action – adding a form
H
- Handle...() methods / What just happened?
- HandleGamepadInput() method / What just happened?
- HandleInput() method / Time for action – beginning the WeaponManager class
- handleInput() method / What just happened?, Time for action – staying in bounds, Time for action – accounting for walls
- HandleKeyboardInput() helper method / Time for action – handling user input
- HandleKeyboardInput() method / What just happened?
- HandleMouseInput() helper method / Time for action – handling mouse input
- HasConnector() method / What just happened?
I
- imposeMovementLimits() helper method / Time for action – updating and drawing the player's ship
- imposeMovementLimits() method / What just happened?
- initialize() method
- about / The Initialize() method
- customizing / Time for action – customizing the Initialize() method
- Initialize() method / Time for action – building a sound effects manager, Time for action – creating the TileMap class, Time for action – creating the Player class
- installing
- XNA Game Studio / Time for action – installing XNA Game Studio
- Intersects() method / What just happened?
- IsBoxColliding() method / What just happened?, What just happened?
- IsCircleColliding() method / What just happened?
- IsEqualToNode() method / What just happened?
- IsKeyDown() method / What just happened?
- IsMouseVisible property / What just happened?
- isOnScreen() helper method / Time for action – checking the asteroid's position
- IsWallTileByPixel() / What just happened?
L
- Lerping
- about / What just happened?
- LevelManager class
- building / The LevelManager class, Time for action – building the LevelManager class
- using directives, adding / Time for action – building the LevelManager class
- declaration, modifying / Time for action – building the LevelManager class
- declarations, adding / Time for action – building the LevelManager class
- properties, adding / Time for action – building the LevelManager class
- Initialize() method, adding / Time for action – building the LevelManager class
- LoadLevel() method, adding / Time for action – building the LevelManager class
- ReloadLevel() method, adding / Time for action – building the LevelManager class
- level transitions, Gemstone Hunter project
- about / Level transitions
- map transitions, supporting / Time for action – supporting map transitions
- LinearCost() method / What just happened?
- Load() method / What just happened?, What just happened?
- LoadContent() method
- about / The LoadContent() method
- LoadImageList() helper method / What just happened?
M
- map
- drawing / Drawing the map
- tile map, drawing / Time for action – drawing the tile map, What just happened?
- map-based collision detection
- about / Map-based collision detection
- map codes / Map codes
- MapEditor form
- menu bar, creating / Time for action – creating the menu bar
- tile selection controls / Time for action – tile selection controls
- scroll bars / Time for action – scroll bars
- final controls / Time for action – final controls
- connecting, to game / Connecting the form to the game
- editor, completing / Time for action – completing the editor – part 1
- scrolling delay, fixing / Time for action – fixing the scrolling delay
- map editor project
- about / The map editor project
- creating / Creating the map editor project
- level editor project, creating / Time for action – creating the level editor project, What just happened?
- form, adding / Adding a form, Time for action – adding a form
- event handlers, adding / Time for action – adding event handlers
- controls, adding to form / Filling Out Our Form
- Game1 class, updating / Updating the Game1 class, Time for action – updating Game1
- Game1 Update method / Time for action – the Game1 Update method
- maps, loading / Loading and Saving Maps, Time for action – implementing loading and saving
- maps, saving / Loading and Saving Maps, Time for action – implementing loading and saving
- passability / Passability
- map codes / Map codes
- MapEditor_FormClosed() event / Time for action – handling the FormClosed event
- MapEditor_Load() event handler / Time for action – tile selection controls
- MapEditor_Load() method / Time for action – final controls
- MapEditor_Resize() method / Time for action – scroll bars
- MapSquare class
- adding, to Gemstone Hunter project / Time for action – the MapSquare class
- using directives, adding / Time for action – the MapSquare class
- declaration, modifying / Time for action – the MapSquare class
- declarations, adding / Time for action – the MapSquare class
- TogglePassable() method, adding / Time for action – the MapSquare class
- map squares
- dealing with / Time for action – dealing with map squares, What just happened?
- mapSquares array / Map squares
- MathHelper / What just happened?
- MathHelper.Clamp() / What just happened?
- MathHelper.Clamp() method / What just happened?
- MathHelper.Max() method / What just happened?
- MouseState class / What just happened?
- Move() method / What just happened?
N
- Next() method / What just happened?
- numeric literals
- vs constants / What just happened?
O
- ObjectIsVisible() method / What just happened?
P
- particle-based explosions
- building / Particle explosions
- Particle class
- constructing / Time for action – constructing the Particle class
- declarations, adding / Time for action – constructing the Particle class, Time for action – the Particle class
- constructor, adding / Time for action – constructing the Particle class, Time for action – the Particle class
- updating / Time for action – updating and drawing particles, Time for action – the Particle class
- drawing / Time for action – updating and drawing particles
- creating / Time for action – the Particle class, Time for action – the EffectsManager class, Time for action – building explosions, Time for action – spark effects, Time for action – beginning the WeaponManager class, Time for action – new weapons, Time for action – shots colliding with tiles, Time for action – power-ups
- using directives, adding / Time for action – the Particle class
- properties, adding / Time for action – the Particle class
- particle system, explosion effects
- designing / Expanding on sprites – particles
- passability / Passability
- PathFinder class
- adding, to robot rampage project / Time for action – beginning the implementation of A*
- using directive, adding / Time for action – beginning the implementation of A*
- class declaration, modifying / Time for action – beginning the implementation of A*
- declarations, adding / Time for action – beginning the implementation of A*
- addNodeToOpenList() method, adding / Time for action – beginning the implementation of A*
- FindPath() method, adding / Time for action – finding the path
- findAdjacentNodes() method, adding / Time for action – adjacent squares
- path finding system implementation, robot rampage project
- about / Path finding
- A* path finding algorithm / The A* path-finding algorithm
- A* implementation / Implementing A*
- power-ups, placing safely / Safely placing power-ups
- PathNode class
- adding, to robot rampage project / Time for action – the PathNode class
- using directive, adding / Time for action – the PathNode class
- declarations, adding / Time for action – the PathNode class
- properties, adding / Time for action – the PathNode class
- constructor, adding / Time for action – the PathNode class
- helper method, adding / Time for action – the PathNode class
- pathWaypoints object / What just happened?
- pieceType parameter / What just happened?
- PlayAnimation() method / Time for action – building the GameObject class – part 2
- PlayEnemyShot() method / Time for action – building a sound effects manager
- player
- adding / Adding the player
- Player class, building / Building the Player class, Time for action – building the Player class, What just happened?
- input, handling / Time for action – handling input
- in bounds, staying / Time for action – staying in bounds
- walls, accounting for / Time for action – accounting for walls, What just happened?
- player's ship
- drawing / Time for action – updating and drawing the player's ship
- updating / Time for action – updating and drawing the player's ship
- player-enemy interaction, Gemstone Hunter project
- about / Player-enemy interaction
- zombies, interacting with / Time for action – interacting with zombies
- Player class
- creating / Time for action – creating the Player class
- using directives, adding / Time for action – creating the Player class
- declaration, modifying / Time for action – creating the Player class
- declarations, adding / Time for action – creating the Player class
- Dead property, adding / Time for action – creating the Player class
- constructor, creating / Time for action – creating the Player class
- running animation / Running...
- update() method, overriding / Time for action – overriding the Update() method – part 1
- jumping animation / ...and jumping
- repositionCamera() method / Time for action – repositioning the camera
- player goals implementation, robot rampage project
- about / Player goals
- computer terminals, building / Computer terminals, Time for action – building a computer terminal
- computer terminals, spawning / Spawning computer terminals
- PlayerManager class
- creating / Adding the player
- declarations, adding / Time for action – creating the PlayerManager class
- constructor, adding / Time for action – creating the PlayerManager class
- user input, handling / Handling user input, Time for action – handling user input
- FireShot() helper method, adding / Time for action – handling user input
- HandleKeyboardInput() helper method, adding / Time for action – handling user input
- HandleGamepadInput() helper method, adding / Time for action – handling user input
- imposeMovementLimits() helper method, adding / Time for action – updating and drawing the player's ship
- Update() method, adding / Time for action – updating and drawing the player's ship
- Draw() method, adding / Time for action – updating and drawing the player's ship
- playerScore / What just happened?
- player shot collisions
- about / Time for action – player shot collisions
- PlayExplosion() method / Time for action – building a sound effects manager
- PlayPlayerShot() method / Time for action – building a sound effects manager
- position vector / What just happened?
- power ups, robot rampage project
- about / Power-ups
- spawning / Power-ups
- PreparingDeviceSettings event / What just happened?
- PropagateWater() method / Time for action – making the connection, What just happened?
- public methods, GameObject class
- PlayAnimation() method, adding / Time for action – building the GameObject class – part 2
- Update() method, adding / Time for action – building the GameObject class – part 2
- Draw() method, adding / Time for action – building the GameObject class – part 2
- puzzle game
- designing / Designing a puzzle game
- Flood Control project, setting up / Time for action – set up the Flood Control project, What just happened?
R
- rand / What just happened?
- Random.Next() method / What just happened?
- RandomDirection() helper method / Time for action – creating explosions
- random map
- generating / Generating a random map
- random wall placement / Time for action – random wall placement, What just happened?
- RandomPiece () method / What just happened?
- randomVelocity() method / What just happened?
- redistributable fonts package / What just happened?
- RemoveSuffix() method / Time for action – GamePiece class methods – part 1 – updating
- Replace() method / Time for action – GamePiece class methods – part 1 – updating
- repositionCamera() / What just happened?
- repositionCamera() helper method / Time for action – staying in bounds
- resetGame() helper function / Time for action – structuring the game
- resetGame() method / What just happened?
- ResetWater() method / What just happened?
- Robot Rampage
- about / Overview of the games
- robot rampage project
- creating / Time for action – creating the Robot Rampage project
- visual effects / Visual effects
- weaponry, adding / Adding weaponry
- path finding system, implementing / Path finding
- A*, implementing / The A* path-finding algorithm
- player goals, implementing / Player goals
- enemy robots, adding / Enemy robots
- game structure / Game structure
- RotatePiece() method / Time for action – GamePiece class methods – part 2 – rotation, What just happened?
- RotatingPiece class
- about / Time for action – rotating pieces
- modifying / What just happened?
- rotating pieces
- about / Rotating pieces
- generating / Time for action – modify Game1 to generate rotating pieces
- rotationAmount property / What just happened?
- rowLookup variable / What just happened?
- running animation, Player class
- about / Running...
S
- score display
- about / Score display, What just happened?
- ScoreZoom class
- about / ScoreZooms
- creating / Time for action – creating the ScoreZoom class
- displaying / Time for action – updating and displaying ScoreZooms, What just happened?
- updating / Time for action – updating and displaying ScoreZooms, What just happened?
- ScreenToWorld() method / What just happened?
- SelectedIndexChanged event / Time for action – completing the editor – part 1
- Serialize() method / What just happened?
- SetTileAtCell() method / What just happened?
- SetTileAtSquare() / What just happened?
- setUpWaypoints() method / What just happened?
- ShotManager class
- adding / Time for action – adding the ShotManager class
- declarations, adding / Time for action – adding the ShotManager class
- constructor, adding / Time for action – adding the ShotManager class
- about / What just happened?
- FireShot() method, adding / Time for action – firing shots
- Update() method, adding / Time for action – updating and drawing shots
- Draw() method, adding / Time for action – updating and drawing shots
- shots
- firing / Time for action – firing shots
- sound effects, Asteroid Belt Assault project
- about / Sound effects
- finding / Generating and finding sound effects
- generating / Generating and finding sound effects
- sound effects manager
- building / Time for action – building a sound effects manager
- SoundManager class
- about / Sound in XNA
- declaration, modifying / Time for action – building a sound effects manager
- Initialize() method, adding / Time for action – building a sound effects manager
- PlayExplosion() method, adding / Time for action – building a sound effects manager
- PlayPlayerShot() method, adding / Time for action – building a sound effects manager
- PlayEnemyShot() method, adding / Time for action – building a sound effects manager
- implementing / Time for action – using the SoundManager class
- SpawnEnemy() method / Time for action – spawning enemies
- sprite-based star field
- about / A sprite-based star field
- SpriteBatch.Draw() call / Sprites and sprite sheets
- SpriteBatch.Draw() method / What just happened?, What just happened?
- about / What just happened?
- SpriteBatch.Draw() overload / SpriteBatch overloads
- SpriteBatch.DrawString() method / Score display
- spriteBatch.End() / What just happened?
- SpriteBatch overloads
- used, for drawing animated pieces / SpriteBatch overloads
- Sprite class
- new Sprite class, building / Time for action – building a new Sprite class
- Sprite class, Asteroid Belt Assault project
- about / Another definition for "sprite"
- building / Building the Sprite class
- declarations / Time for action – declarations for the Sprite class, What just happened?
- constructor, adding / Time for action – Sprite constructor
- basic properties, adding / Time for action – basic Sprite properties
- TintColor property / What just happened?
- Velocity property / What just happened?
- Location property / What just happened?
- animation and drawing properties, adding / Time for action – animation and drawing properties
- Frame property / What just happened?
- FrameTime property / What just happened?
- Source property / What just happened?
- collision detection, supporting / Collision detection, Time for action – supporting collision detection
- frame-based animation / Animation and movement
- SpriteFonts
- adding, to game / SpriteFonts, Time for action – add SpriteFonts to Game1, What just happened?
- score display / Score display
- ScoreZoom / ScoreZooms
- sprites
- and sprite sheets / Sprites and sprite sheets
- vs textures / Sprites and sprite sheets
- sprite sheets
- and sprites / Sprites and sprite sheets
- SquareChase!
- drawing / Time for action – draw SquareChase!, What just happened?
- playing / Time for action – play SquareChase!
- SquareChase mini game, variables
- rand / What just happened?
- squareTexture / What just happened?
- currentSquare / What just happened?
- playerScore / What just happened?
- timeRemaining / What just happened?
- TimePerSquare / What just happened?
- colors / What just happened?
- SquareScreenRectangle() method / What just happened?
- squareTexture / What just happened?
- creating / Time for action – creating the squareTexture
- SquareWorldRectangle() method / What just happened?
- StarField.Draw() method / What just happened?
- StarField class
- about / A sprite-based star field
- creating / Time for action – creating the StarField class
- declarations, adding / Time for action – creating the StarField class
- constructor, adding / Time for action – creating the StarField class
- drawing / Time for action – updating and drawing the StarField
- updating / Time for action – updating and drawing the StarField
- implementing / Time for action – viewing the StarField in action
- StartNewGame () method / What just happened?
- StartNewLevel() method / Time for action – adding difficulty levels
T
- TargetElapsedTime property / The Update() method
- TextChanged event handler / Time for action – completing the editor – part 1
- Texture2D object / What just happened?
- this.Window.ClientBounds property / What just happened?
- tile engine project
- constructing / A more advanced tile engine
- MapSquare class, adding / Time for action – the MapSquare class
- tile map
- drawing / Drawing the tile map
- adding, to game project / Time for action – adding the tile map to the game project
- TileMap class
- using directives, adding / Time for action – the TileMap class – part 1
- declaration, modifying / Time for action – the TileMap class – part 1
- declarations, adding / Time for action – the TileMap class – part 1
- Initialize() method, adding / Time for action – the TileMap class – part 1
- methods, adding / Time for action – the TileMap class – part 2
- Tile_Sheet.png file / Sprites and sprite sheets
- TimePerSquare / What just happened?
- timeRemaining / What just happened?
- timeRemaining counter / What just happened?
- timerGameUpdate_Tick() handler / What just happened?
- titles
- about / Tiles
- title map / The tile map
- TileMap class, creating / Time for action – creating the TileMap class, What just happened?
- dealing with / Dealing with tiles
- handling / Time for action – handling tiles, What just happened?
- Transform() method / What just happened?
- tryToSpawnPowerup() method / Time for action – power-ups
- turretAngle vector / What just happened?
U
- Update() / The Draw() method
- Update(). Max() / What just happened?
- Update() method
- about / The Update() method, Time for action – updating and drawing shots
- coding, for SquareChase / Time for action – coding Update() for SquareChase
- UpdateAnimatedPieces() method
- about / Time for action – updating GameBoard to support animatedpieces
- calling / Calling UpdateAnimatedPieces()
- updateAnimation() helper method / Time for action – building the GameObject class – part 2
- UpdateFadingPieces() method
- about / Time for action – updating GameBoard to support animatedpieces
- UpdateFallingPieces() method
- about / Time for action – updating GameBoard to support animatedpieces
- UpdatePiece() method / What just happened?
- UpdateRotatingPieces() method
- about / Time for action – updating GameBoard to support animatedpieces
- updateWaveSpawns() method / Time for action – spawning enemies, What just happened?
- user input, handling
- about / Handling user input
- using directives / Time for action – building a new Sprite class, Time for action – building the Player class
V
- verticalOffset parameter / What just happened?
- view
- visualizing / Visualizing the view
- sprite, viewing / Time for action – viewing the Sprite and Camera classes in action, What just happened?
- Camera classes, viewing / Time for action – viewing the Sprite and Camera classes in action, What just happened?
- viewPortSize vector / What just happened?
- visual effects, robot rampage project
- about / Visual effects
- particles, revisiting / Revisiting particles
- particle class, adding / Time for action – the Particle class, Time for action – the EffectsManager class, Time for action – building explosions, Time for action – spark effects, Time for action – beginning the WeaponManager class, Time for action – new weapons, Time for action – shots colliding with tiles, Time for action – power-ups
- EffectsManager class, adding / The EffectsManager class
- explosions, building / Time for action – building explosions
- spark effects / Time for action – spark effects
W
- wallChancePerSquare / What just happened?
- waterHeight variable / What just happened?
- WaterTracker list / What just happened?
- waveSpawns dictionary / What just happened?
- WaypointReached() method / What just happened?
- waypoints, managing
- EnemyManager class, setting up / Time for action – setting up the EnemyManager class
- enemies, spawning / Time for action – spawning enemies
- WeaponManager class
- about / The WeaponManager class, Time for action – new weapons
- beginning / Time for action – beginning the WeaponManager class
- using directives, adding / Time for action – beginning the WeaponManager class
- declaration, modifying / Time for action – beginning the WeaponManager class
- declarations, adding / Time for action – beginning the WeaponManager class, Time for action – power-ups
- properties, adding / Time for action – beginning the WeaponManager class
- AddShot() method, adding / Time for action – beginning the WeaponManager class
- FireWeapon() method, adding / Time for action – beginning the WeaponManager class
- updating / Time for action – beginning the WeaponManager class, Time for action – updating the WeaponManager class, Updating the WeaponManager
- WeaponFireDelay property, replacing / Time for action – new weapons
- FireWeapon() method, replacing / Time for action – new weapons
- checkWeaponUpgradExpire() method, adding / Time for action – new weapons
- checkShotWallImpacts() method, adding / Time for action – shots colliding with tiles
- createLargeExplosion() method, adding / Time for action – shots colliding with tiles
- Update() method, modifying / Time for action – shots colliding with tiles
- tryToSpawnPowerup() method, adding / Time for action – power-ups
- checkPowerupSpawns() method, adding / Time for action – power-ups
- checkPowerupPickups() method, adding / Time for action – power-ups
- checkRocketSplashDamage(), adding / Time for action – destroying enemies
- checkShotEnemyImpacts(), adding / Time for action – destroying enemies
- checkShotEnemyImpacts () method, adding / Time for action – awarding points
- checkRocketSplashDamage() method, adding / Time for action – awarding points
- weapon upgrades, robot rampage project
- about / Weapon upgrades
- shot to map collisions / Shot to map collisions
- power-ups / Power-ups
- Windows game project
- creating / Time for action – creating a new Windows game project, What just happened?
- WorldToScreen() method / What just happened?
X
- XNA
- sound, implementing / Sound in XNA
- XNA game
- about / Anatomy of an XNA game
- declarations area / The declarations area
- variables, adding to class declaration area / Time for action – adding variables to the class declaration area
- Game1 class constructor / The Game1 class constructor
- initialize() method / The Initialize() method
- initialize() method, customizing / Time for action – customizing the Initialize() method
- LoadContent() method / The LoadContent() method
- squareTexture, creating / Time for action – creating the squareTexture
- update() method / The Update() method
- update(), coding for SquareChase / Time for action – coding Update() for SquareChase
- Draw() method / The Draw() method
- SquareChase!, drawing / Time for action – draw SquareChase!, What just happened?
- SquareChase!, playing / Time for action – play SquareChase!, Have a go hero
- XNA Game Studio
- requisites / System requirements
- requisites, optional / System requirements
- installing / Time for action – installing XNA Game Studio