Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

COMPUTER GRAPHICS AND ANIMATION

PROGRAMMING ASSIGNMENT 15-BH

Sprite Animation

Create an application that simulates Blast Hornet in action. The program must be able
to do the following:
 Provide a background.
 Start with Blast Hornet doing his intro animation.
 Allow the user to control Blast Hornet. Blast Hornet can do the following
actions:
o Fly.
 The user clicks at a certain location and Blast Hornet flies to that
location.
 Blast Hornet flies in a figure-eight path.
o Sting attack.
 Blast Hornet protrudes his sting and flies towards the location of the
Megaman dummy (which will be explained later).
 Blast Hornet then files back to where he was when he started to perform
this move.
o Shoot parasitic bomb.
 Blast Hornet summons a small robotic hornet (a.k.a. “parasitic bomb”).
 The user clicks in a certain direction and the parasitic bomb flies in that
direction.
 The parasitic bomb stops when reaching the ceiling, the floor, or a wall.
 The parasitic bomb disappears after a few seconds.
 Blast Hornet can shoot multiple parasitic bombs simultaneously in
different directions.
o Shoot crosshair.
 Blast Hornet shoots a small crosshair that slowly homes in on the
Megaman dummy.
 If the crosshair hits the Megaman dummy, the crosshair will become
large and stay with the Megaman dummy wherever it goes.
 If the Megaman dummy has a large crosshair following it, any parasitic
bombs shot by Blast Hornet will home in on the Megaman dummy
instead of simply moving in a straight line.
 The crosshair disappears after 15 seconds.
o Change facing direction.
 Blast Hornet always faces towards the Megaman dummy and will
automatically change facing direction whenever whenever the Megaman
dummy is behind him.
 Place a dummy, doll, or puppet of Megaman (or anything else that you like) as
a target for Blast Hornet.
o The dummy starts at a fixed location on the ground.
o The dummy is by deafult passive. It does not perform any action.
 The dummy is able to move around. You decide how the dummy moves
around.
 The dummy can shoot projectiles. You decide how the projectiles move.
o If the dummy gets hit by Blast Hornet or his parasitic bombs, it will
disappear.
 After a few seconds, it will respawn at a random location on the ground.
 The dummy must not collide with Blast Hornet when it respawns.
 Display an animation of the dummy getting destroyed.
 Display an animation of the dummy getting sucked into the gravity well
if it reaches the center of the well.
 Provide the proper animations for each action.
 Bonus points for user friendliness. Negative points for extreme user
unfriendliness.

You must display Blast Hornet (and other sprites) and the background using the same
picturebox.

You may not display Blast Hornet by putting it on a picturebox and overlaying it with
the background on another picturebox. Doing this will result in rejection of your
project.

You must use non-transparent image files for the sprites. You mat not use transparent
PNG files or something similar to that.

You must create your own procedure/function to handle collision detection. You may
not use the built in collision detection procedure/function provided by the
programming language you use (if there is any).

What to submit:
 An executable file (EXE)
 The source code (+ modules or libraries if necessary)
 A report.

The report should contain explanations of at least the following:


1. Introduction.
 What is the program about?
 In what language is the program implemented?
2. Basic theory.
 Explain sprite animation.
 Explain how to put a sprite on a background.
 Explain character state diagram and state trasition table.
 Explain collision detection, especially the method of collision detection used
in the program (but do not write something like “this program uses this
method” or something similiar in this section).
3. Implementation
 Explain the main interface of the program.
 Explain every feature in the program and how to use them.
4. Design
 Explain the main data structures (if any) used in the program.
o Explain how the background and sprite data are represented in the program.
 Explain the main/global variables used in the program.
 Explain the character state diagram and the state trasition table for Blast
Hornet.
o Explain each state in the state diagram.
 Explain the sprites used for the animation of each action (include the duration
of each frame).
 Explain how the collision detection works in the program.
 Explain the pseudocode for each time tick.
 Explain how the bonuses (if done) are implemented.
5. Evaluation
 Evaluate the following test cases:
o Starting the program (the intro animation).
o Blast Hornet flying.
o Blast Hornet doing a sting attack.
o Blast Hornet shooting parasitic bombs.
o Blast Hornet shooting a crosshair.
o The crosshair homing in on the Megaman dummy.
o Parasitic bombs homing in on the Megaman dummy whenever a large
crosshair is present.
o Blast Hornet changing facing direction.
o The dummy getting hit by Blast Hornet’s attacks.
 Also perform a test case for all the bonus features you implemented.
 Include screenshots of each test case.
 Explain whether each case is successful.
6. Work log.
 Record the date and time of every moment you work on this assignment and
job description of each member at each session. The work log should be a
table with the following columns:
o Date
o Activity / progress
o Personnel involved
 Write a summary of the implementation of each requirement given in the first
page. For each requirement, explain whether that requirement is fully
implemented, partially implemented, or not implemented at all. Give
explanations if necessary.
7. Conclusion and remarks.
 Does the program work as expected?
 If some parts of the program do not work as expected, explain why.
 What are your comments about this assignment?

Submit the assignment no later than midnight, 9 May 2021, to x60880@yahoo.com.

You might also like