-
Notifications
You must be signed in to change notification settings - Fork 0
Lyx09/Pizzadventure
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
# (Rush C) The purpose of the project is to create a platform game in C with the following requirements: * One player character, * At least 2 maps, * At least 1 enemy with a dummy A.I., * At least 1 way to harm the player, * At least 1 danger (another enemy, a trap, spikes, lava, or something else), * A game over with an explicit screen, * And a way to start over the game without exiting. ## Getting Started To be able to get a copy of the game up and running on your local machine, please follow these instructions: If you wish to create the game binary, please run `make` or `make game` at the root of the project directory. To remove it, please run `make clean`. ## Running the tests To run the tests for each individual functions on this project, please use the following command: `make check`. ## How to play The player character is a pizza delivery guy that has to deliver an order to the demon king at his castle. The goal in each level is to reach a checkpoint that will allow the player to go on to the next level. The game is supposed to be played using the keyboard, using the directional pad to move, the space bar to jump and the key 'x' to attack. ## Sources Unfortunately, we did not keep track of all the sites we visited for our resources. Here are a few websites we visited to get them: * https://www.spriters-resource.com/ * https://www.vectorstock.com/ * https://opengameart.org/ * https://itch.io/ * https://www.google.com/ * https://www.1001fonts.com/8-bit-limit-font.html * etc. Credits where credit is due, none of the art nor sound we used were made by us. Thanks to all the artists who have contributed directly or (mostly) indirectly to our work. ## Features Here is an exhaustive list of the features we implemented for our 2D-platformer: * A basic title screen with music and title image, * A full map parser, that can display several tiles, and handle a specific music, tileset and background for every map, as well as different points for changing maps, * A character able to move left and right and jump. * The game handles delta timing (Game does not depend on computer's speed). ### The map parser One of the features we developped is a map parser, which takes an input file of the following format: ``` prev: ./maps/lvl0 (1, 2) next: ./maps/lvl2 (3, 4) music: ./resources/music/lvl1 background: ./resources/background/lvl1 tileset: ./resources/tileset/lvl1 tilesize: (5, 6) 4 P: O(7,8) N: O(9,10) B: S(11,12) C: H(13,14) _ C C N C C C C C C C C C C C C C C C C C C C C C C C C C C P C C BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB ``` The first and second lines are two paths respectively towards the map of the previous and next level, with the corresponding coordinates where the player should spawn. The third line is the path of the music file, while the fourth line corresponds to the background. The fifth line is the path to the tileset used for the level, and the sixth corresponds to the size of one tile on the tileset sheet under the form of a tuple. After a newline, there should be a number n indicating the different types of tile on the map. Then, there should be exactly n lines representing the types of the different tiles, the type of block it corresponds to and its coordinates relative to the tileset sheet. The tile's type cannot be represented by ' ', '\t', '\n', 'E', 'O', 'S' nor 'H' since they are either forbidden or used to represent the block type ('E' -> empty block, 'O' -> open block, 'S' -> solid block, 'H' -> harmful block). Finally, an underscore character separates the header from the map represented by 40 * 30 characters extracted from the previous lines's type of tile. ## Authors * William Lin * Antonin Chantier * Céline Wu
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published