Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed wave_player 4DGL-uLCD-SE MMA8452
Diff: map.h
- Revision:
- 2:06c63d567719
- Parent:
- 0:35660d7952f7
- Child:
- 3:664c79e2ceb5
--- a/map.h Wed Apr 04 21:11:07 2018 +0000 +++ b/map.h Fri Nov 30 02:53:05 2018 +0000 @@ -24,21 +24,21 @@ * game state. */ int type; - + /** * A function pointer to the drawing function for this item. Used by draw_game. */ DrawFunc draw; - + /** * If zero, this item should block character motion. */ int walkable; - + /** * Arbitrary extra data for the MapItem. Could be useful for keeping up with * special information, like where a set of stairs should take the player. - * + * * Iterpretation of this can depend on the type of the MapItem. For example, * a WALL probably doesn't need to use this (it can be NULL), where an NPC * might use it to store game state (have I given the player the key yet?). @@ -53,12 +53,22 @@ // MapItem types // Define more of these! -#define WALL 0 -#define PLANT 1 +#define WALL 0 +#define PLANT 1 +#define NPORTAL 2 +#define TERMINAL 3 +#define NPC 4 +#define HACKED_TERMINAL 5 +#define DOOR 6 +#define BOOTS 7 +#define KILL 8 +#define TELEPORT 9 +#define PRINTER 10 + /** * Initializes the internal structures for all maps. This does not populate - * the map with items, but allocates space for them, initializes the hash tables, + * the map with items, but allocates space for them, initializes the hash tables, * and sets the width and height. */ void maps_init(); @@ -151,4 +161,41 @@ */ void add_plant(int x, int y); -#endif //MAP_H \ No newline at end of file +/** + * Add a NETPORTAL item at (x,y). If there is already a MapItem at (x,y), erase it + * before adding the plant. + */ +void add_netPortal(int x, int y); + +/** + * Add a TERMINAL item at (x,y). If there is already a MapItem at (x,y), erase it + * before adding the plant. + */ +void add_terminal(int x, int y); + +/** + * Add a TERMINAL item at (x,y). If there is already a MapItem at (x,y), erase it + * before adding the plant. + */ +void add_hacked_terminal(int x, int y); + +/** + * Add a NPC item at (x,y). If there is already a MapItem at (x,y), erase it + * before adding the plant. + */ +void add_NPC(int x, int y); + +/** + * Add a NPC item at (x,y). If there is already a MapItem at (x,y), erase it + * before adding the plant. + */ +void add_door(int x, int y, bool a); + +void add_boots(int x, int y); +void add_kill(int x, int y); +void add_orgprint(int x, int y); +void add_teleport(int x, int y); + +unsigned XY_KEY(int X, int Y); + +#endif //MAP_H