| @ -0,0 +1,57 @@ | |||
| #ifndef _2EASY4ME_CHARACTER_H_ | |||
| #define _2EASY4ME_CHARACTER_H_ | |||
| #include <cstring> | |||
| class Character | |||
| { | |||
| protected: | |||
| char name[16]; | |||
| int hp; | |||
| int att; | |||
| int def; | |||
| public: | |||
| Character(char *name) | |||
| { | |||
| strncpy(this->name, name, sizeof(this->name)); | |||
| this->hp = 100; | |||
| this->att = 10; | |||
| this->def = 5; | |||
| } | |||
| Character(char *name, int hp, int att, int def) | |||
| { | |||
| strncpy(this->name, name, sizeof(this->name)); | |||
| this->hp = hp; | |||
| this->att = att; | |||
| this->def = def; | |||
| } | |||
| bool checkDied() | |||
| { | |||
| return hp <= 0; | |||
| } | |||
| int defend(int dmg) | |||
| { | |||
| dmg -= def; | |||
| if (dmg > 0) | |||
| { | |||
| hp -= dmg; | |||
| return dmg; | |||
| } | |||
| else | |||
| { | |||
| return 0; | |||
| } | |||
| } | |||
| int attack() | |||
| { | |||
| return att; | |||
| } | |||
| }; | |||
| #endif | |||
| @ -0,0 +1,36 @@ | |||
| #ifndef _2EASY4ME_MONSTER_H_ | |||
| #define _2EASY4ME_MONSTER_H_ | |||
| #include "character.hpp" | |||
| class Monster : public Character | |||
| { | |||
| protected: | |||
| int bounty; | |||
| public: | |||
| Monster(char *name) | |||
| : Character(name) | |||
| { | |||
| this->bounty = 0; | |||
| } | |||
| Monster(char *name, int hp, int att, int def) | |||
| : Character(name, hp, att, def) | |||
| { | |||
| this->bounty = 0; | |||
| } | |||
| Monster(char *name, int hp, int att, int def, int bounty) | |||
| : Character(name, hp, att, def) | |||
| { | |||
| this->bounty = bounty; | |||
| } | |||
| int drop() | |||
| { | |||
| return bounty; | |||
| } | |||
| }; | |||
| #endif | |||
| @ -0,0 +1,51 @@ | |||
| #ifndef _2EASY4ME_PLAYER_H_ | |||
| #define _2EASY4ME_PLAYER_H_ | |||
| #include "character.hpp" | |||
| class Player : public Character | |||
| { | |||
| protected: | |||
| int xp; | |||
| int level; | |||
| public: | |||
| Player(char *name) | |||
| : Character(name) | |||
| { | |||
| this->xp = 0; | |||
| this->level = 1; | |||
| } | |||
| Player(char *name, int hp, int att, int def, int level, int xp) | |||
| : Character(name, hp, att, def) | |||
| { | |||
| this->xp = xp; | |||
| this->level = level; | |||
| } | |||
| bool checkLevelup() | |||
| { | |||
| return xp > (level * level); | |||
| } | |||
| bool levelUp(int stat) | |||
| { | |||
| switch (stat) | |||
| { | |||
| case 1: | |||
| hp += 10; | |||
| break; | |||
| case 2: | |||
| att += 2; | |||
| break; | |||
| case 3: | |||
| def += 1; | |||
| break; | |||
| } | |||
| xp -= level * level; | |||
| } | |||
| }; | |||
| #endif | |||
| @ -0,0 +1,33 @@ | |||
| #include <iostream> | |||
| #include <cstring> | |||
| #include <math.h> | |||
| #include "cpp-base64/base64.h" | |||
| #include "cpp-base64/base64.cpp" | |||
| #include "class/monster.hpp" | |||
| #include "class/player.hpp" | |||
| Player* createNewPlayer() | |||
| { | |||
| char name[16]; | |||
| printf("Input character name (MAX 15): "); | |||
| scanf("%15s", name); | |||
| return new Player(name); | |||
| } | |||
| int main(int argc, char const *argv[]) | |||
| { | |||
| char name[16]; | |||
| printf("Input name: "); | |||
| scanf("%15s", name); | |||
| Player *player = new Player(name); | |||
| printf("Created new player with name %s at %p\n", name, (void *)player); | |||
| return 0; | |||
| } | |||