Starting from:

$30

Lab 9: Complex Movement

CS 2261 Lab 9:
Complex Movement
Provided Files
● main.c
● myLib.c
● myLib.h
● game.c
● game.h
● house.bmp
● house.c
● house.h
● spritesheet.bmp
● spritesheet.c
● spritesheet.h
● collisionmap.bmp
Files to Edit/Add
● game.c
● collisionmap.c
● collisionmap.h
● Your Makefile
Instructions
In this lab, you will be completing several different TODOs, which will, piece by
piece, add complex sprite movement. Your code may not compile until you complete an
entire TODO block, at which point the game should compile with a new component of
the final outcome (unless otherwise specified).
TODO 1 – Complex Camera Movement
We want our pikachu to walk only on the screen, and have the camera
follow it without showing something outside of the world.
● TODO 1.0: In game.c, in the updatePlayer() function, add in the sprite and
camera movement.
Your pikachu should now be able to walk around and see the entire map,
but not off of the edge. The pikachu should always be in the middle of the
screen unless at the edge of the map (see the example.gba).
TODO 2 – Collision Map
Now we want our pikachu to treat the visuals of the map is if they were
actual barriers to movement.
● TODO 2.0: The collision map has been created for you. Open collisionmap.bmp
and export it. Remember that we want to check the colors of each pixel, so take
that into account when choosing export settings.
● TODO 2.1: Add collisionmap.c to your Makefile, and include collisionmap.h in
game.c.
● TODO 2.2: Update your movement code to only allow pikachu to move if the
collision map allows it (is white) in the areas that you need to check.
Your pikachu should be not be able to walk over the house or the bushes. The pikachu
should be able to walk between the house and the bushes on the right and top, in both
directions.
Submission Instructions
Zip up your entire project folder, including all source files, the Makefile, and everything
produced during compilation (including the .gba file). Submit this zip on Canvas. Name
your submission Lab10_FirstameLastname, for example:“Lab9_DarthTraya.zip”.