-
Notifications
You must be signed in to change notification settings - Fork 0
YourHarbour/StickMan
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
#StickMan Note: This document has been formatted with Markdown tags. Change the file type to .md and open with a markdown reader (e.g. IntelliJ) to see a clean output. ##Sprites Mushroom: https://www.deviantart.com/adventuresmg64gaming/art/Super-Mario-World-Modern-1-UP-Mushroom-Sprite-666837189 ##Style All Java code has been written following the Google Java Style Guide. ##Run Run the code with `gradle run` ##JSON Format * "stickmanSize": The size of the StickMan, either "normal" or "large" * "stickmanPos": A JSON object storing the starting x-coordinate of the StickMan (he starts on the floor) * "cloudVelocity": The horizontal velocity of clouds * "levelDimensions": A JSON object storing width, height and floorHeight of the level * "platforms": A JSON array of x,y coordinates representing locations of platforms * "mushrooms": A JSON array of x,y coordinates representing locations of mushrooms * "enemies": A JSON array of enemy objects * Each enemy is represented with a JSON object storing x, y coordinates, the sprite path, whether the enemy starts by moving left and the strategy used by the enemy (either "dumb", which just goes backwards and forwards, or "follow", which moves towards the player's location). * In the current set of levels, yellow slimes are set to "follow", while blue and green are set to "dumb" * "flag": A JSON object storing the x,y coordinates of the final flag ##Different Levels Level files are stored in levels/. GameManager reads in the list of levels from levels.json, and uses the first String in the "levelFiles" array as the first level for the game. To demo loading other levels, change the order of the array so that other levels can be loaded in first. ##Controls * Move left: Left Arrow Key * Move right: Right Arrow Key * Jump: Up Arrow Key * Shoot: Space Key ##Collisions Movement is configured to use a raycasting algorithm. Raycasting is where a line (ray) is projected from one object in a direction, and determines the distance to the nearest object in its path. This ensures that regardless of speed, objects will not pass through each other instead of colliding. ##Documentation All classes have been documented with Javadocs. This can be generated with `gradle javadoc`.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published