Managing the Bricks
BricksManager is separated into five broad groups of methods:
Loading bricks information.
Initializing the bricks data structures.
Moving the bricks map.
Drawing the bricks.
JumperSprite-related tasks. These are mostly various forms of collision detection between the sprite and the bricks.
BricksManager reads a bricks map and creates a Brick object for each brick. The data structure holding the Brick objects is optimized so drawing and collision detection can be carried out quickly.
Moving and drawing the bricks map is analogous to the moving and drawing of an image by a Ribbon object. However, the drawing process is complicated by the ribbon consisting of multiple bricks instead of a single GIF.
Jack, the JumperSprite object, uses BricksManager methods to determine if its planned moves will cause it to collide with a brick.
Loading Bricks Information
BricksManager calls loadBricksFile() to load a bricks map; the map is assumed to be in bricksInfo.txt from Images/.
The first line of the file (ignoring comment lines) is the name of the image strip:
s tiles.gif 5
This means that tiles.gif holds a strip of five images. The map is a series of lines containing numbers and spaces. Each line corresponds to a row of tiles in the game. A number refers to a particular image in the image strip, which becomes a tile. A space means that no tile is used in that position in the game.
Tip
The map file may contain empty lines and comment lines (those starting with //), which are ignored. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access