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
Inventory/Ghost/Ghost.h@3:9d811414d35e, 2020-05-11 (annotated)
- Committer:
- el18gs
- Date:
- Mon May 11 11:58:31 2020 +0000
- Revision:
- 3:9d811414d35e
- Child:
- 4:2e8d7c6d2953
testing docs commit
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| el18gs | 3:9d811414d35e | 1 | /** |
| el18gs | 3:9d811414d35e | 2 | * @file Ghost.h |
| el18gs | 3:9d811414d35e | 3 | * @brief revision 0.9 |
| el18gs | 3:9d811414d35e | 4 | * @brief Library for generating and saving .ghost files for the game. Some of |
| el18gs | 3:9d811414d35e | 5 | * the files need to be imported from the SD others are generated. |
| el18gs | 3:9d811414d35e | 6 | * @author George Sykes [el18gs] |
| el18gs | 3:9d811414d35e | 7 | * @date 11 May 2020 |
| el18gs | 3:9d811414d35e | 8 | |
| el18gs | 3:9d811414d35e | 9 | @code |
| el18gs | 3:9d811414d35e | 10 | * sample.ghost file |
| el18gs | 3:9d811414d35e | 11 | 1.ghost: |
| el18gs | 3:9d811414d35e | 12 | /Type |
| el18gs | 3:9d811414d35e | 13 | Basic |
| el18gs | 3:9d811414d35e | 14 | /Name |
| el18gs | 3:9d811414d35e | 15 | Casper |
| el18gs | 3:9d811414d35e | 16 | /Attack |
| el18gs | 3:9d811414d35e | 17 | 10 |
| el18gs | 3:9d811414d35e | 18 | /Defense |
| el18gs | 3:9d811414d35e | 19 | 10 |
| el18gs | 3:9d811414d35e | 20 | /Level |
| el18gs | 3:9d811414d35e | 21 | 1 |
| el18gs | 3:9d811414d35e | 22 | /XP |
| el18gs | 3:9d811414d35e | 23 | 0 |
| el18gs | 3:9d811414d35e | 24 | /Value |
| el18gs | 3:9d811414d35e | 25 | 10 |
| el18gs | 3:9d811414d35e | 26 | /HP_max |
| el18gs | 3:9d811414d35e | 27 | 10 |
| el18gs | 3:9d811414d35e | 28 | /HP |
| el18gs | 3:9d811414d35e | 29 | 10 |
| el18gs | 3:9d811414d35e | 30 | /UID |
| el18gs | 3:9d811414d35e | 31 | 1 |
| el18gs | 3:9d811414d35e | 32 | @endcode |
| el18gs | 3:9d811414d35e | 33 | */ |
| el18gs | 3:9d811414d35e | 34 | |
| el18gs | 3:9d811414d35e | 35 | #ifndef GHOST_H |
| el18gs | 3:9d811414d35e | 36 | #define GHOST_H |
| el18gs | 3:9d811414d35e | 37 | |
| el18gs | 3:9d811414d35e | 38 | #include "SDFileSystem.h" |
| el18gs | 3:9d811414d35e | 39 | #include <string> |
| el18gs | 3:9d811414d35e | 40 | #include <vector> |
| el18gs | 3:9d811414d35e | 41 | #include <iostream> |
| el18gs | 3:9d811414d35e | 42 | |
| el18gs | 3:9d811414d35e | 43 | //const string Ghost::suffix = ".ghost"; |
| el18gs | 3:9d811414d35e | 44 | |
| el18gs | 3:9d811414d35e | 45 | typedef std::vector<std::string> stringvec; |
| el18gs | 3:9d811414d35e | 46 | |
| el18gs | 3:9d811414d35e | 47 | // Connections to SD card holder on K64F (SPI interface) |
| el18gs | 3:9d811414d35e | 48 | //SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "sd"); // MOSI, MISO, SCK, CS |
| el18gs | 3:9d811414d35e | 49 | |
| el18gs | 3:9d811414d35e | 50 | enum Type { |
| el18gs | 3:9d811414d35e | 51 | BASIC, |
| el18gs | 3:9d811414d35e | 52 | ECTO, |
| el18gs | 3:9d811414d35e | 53 | POLTER, |
| el18gs | 3:9d811414d35e | 54 | ORB, |
| el18gs | 3:9d811414d35e | 55 | FUNNEL |
| el18gs | 3:9d811414d35e | 56 | }; |
| el18gs | 3:9d811414d35e | 57 | |
| el18gs | 3:9d811414d35e | 58 | class Ghost |
| el18gs | 3:9d811414d35e | 59 | { |
| el18gs | 3:9d811414d35e | 60 | public: |
| el18gs | 3:9d811414d35e | 61 | |
| el18gs | 3:9d811414d35e | 62 | Ghost(const std::string path, const std::string root); |
| el18gs | 3:9d811414d35e | 63 | Ghost(int type, int nameNumber, const std::string root); |
| el18gs | 3:9d811414d35e | 64 | |
| el18gs | 3:9d811414d35e | 65 | void listdir(std::string path); |
| el18gs | 3:9d811414d35e | 66 | void save(void); |
| el18gs | 3:9d811414d35e | 67 | int sell(void); |
| el18gs | 3:9d811414d35e | 68 | void feed(int ammount); |
| el18gs | 3:9d811414d35e | 69 | |
| el18gs | 3:9d811414d35e | 70 | void print_all(void); |
| el18gs | 3:9d811414d35e | 71 | Type get_type_enum(void); |
| el18gs | 3:9d811414d35e | 72 | std::string get_type_string(void); |
| el18gs | 3:9d811414d35e | 73 | std::string get_name(void); |
| el18gs | 3:9d811414d35e | 74 | int get_attack(void); |
| el18gs | 3:9d811414d35e | 75 | int get_defense(void); |
| el18gs | 3:9d811414d35e | 76 | int get_level(void); |
| el18gs | 3:9d811414d35e | 77 | int get_xp(void); |
| el18gs | 3:9d811414d35e | 78 | int get_value(void); |
| el18gs | 3:9d811414d35e | 79 | int get_hp_max(void); |
| el18gs | 3:9d811414d35e | 80 | int get_hp(void); |
| el18gs | 3:9d811414d35e | 81 | int get_uid(void); |
| el18gs | 3:9d811414d35e | 82 | |
| el18gs | 3:9d811414d35e | 83 | private: |
| el18gs | 3:9d811414d35e | 84 | int gen_uid(void); |
| el18gs | 3:9d811414d35e | 85 | bool hasEnding (std::string const &fullString, std::string const &ending); |
| el18gs | 3:9d811414d35e | 86 | |
| el18gs | 3:9d811414d35e | 87 | std::string type_to_string(Type type); |
| el18gs | 3:9d811414d35e | 88 | Type string_to_type(std::string type); |
| el18gs | 3:9d811414d35e | 89 | void delete_file(const char filename[]); |
| el18gs | 3:9d811414d35e | 90 | |
| el18gs | 3:9d811414d35e | 91 | Type _type; |
| el18gs | 3:9d811414d35e | 92 | std::string _name; |
| el18gs | 3:9d811414d35e | 93 | int _attack; |
| el18gs | 3:9d811414d35e | 94 | int _defense; |
| el18gs | 3:9d811414d35e | 95 | int _level; |
| el18gs | 3:9d811414d35e | 96 | int _xp; |
| el18gs | 3:9d811414d35e | 97 | int _value; |
| el18gs | 3:9d811414d35e | 98 | int _hp_max; |
| el18gs | 3:9d811414d35e | 99 | int _hp; |
| el18gs | 3:9d811414d35e | 100 | int _uid; |
| el18gs | 3:9d811414d35e | 101 | static const string _suffix; |
| el18gs | 3:9d811414d35e | 102 | std::string _root; |
| el18gs | 3:9d811414d35e | 103 | |
| el18gs | 3:9d811414d35e | 104 | stringvec _names; |
| el18gs | 3:9d811414d35e | 105 | }; |
| el18gs | 3:9d811414d35e | 106 | |
| el18gs | 3:9d811414d35e | 107 | #endif |