⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 poa.hpp

📁 Proverbs of Apocrypha (RPG) - Version 2 - Beta 1 ] good !
💻 HPP
📖 第 1 页 / 共 2 页
字号:
      // Constructors/Deconstructors
      CMonster(){}
      ~CMonster(){}
      
      // Get
      int getid()const{return id;}
      int getlvl()const{return lvl;}
      int gethp()const{return hp;}
      int getminD()const{return minDamage;}
      int getmaxD()const{return maxDamage;}
      int getdefense()const{return defense;}
      int getexp()const{return exp;}
      CSpell getspells(int x)const{return spells[x];}
      char* getname(){return monsterName;}
      
      // Assign and Subtract
      void assignAll(char tempName[], int tempid, int templvl, int temphp, int tempminDamage, int tempmaxDamage, int tempdefense, int tempexp);
      CSpell* editSpell(int index){return &spells[index];}
      void subhp(int amt){hp -= amt;}
      
      // Display
      void displayName()const{cout<<monsterName<<flush;}
      void displayinfo();
   protected:
      char monsterName[MAXSTRING];
      int id;
      int lvl;
      int hp;
      int minDamage;
      int maxDamage;
      int defense;
      int exp;
      CSpell spells[MAXSPELLSPERMONSTER];
}; 


/******************************Character Class*****************************/
class CCharacter{
   public:
      // Constructors/Deconstructors
      CCharacter(){}
      ~CCharacter(){}
      
      // Get
      int getexp()const{return exp;}
      int getgold()const{return gold;}
      int getlvl()const{return lvl;}
      int gethp()const{return hp;}
      int gethpMax()const{return hpMax;}
      int getmana()const{return mana;}
      int getmanaMax()const{return manaMax;}
      int getstr()const{return str;}
      int getdex()const{return dex;}
      int getvit()const{return vit;}
      int getenergy()const{return energy;}
      int gettileY()const{return tileY;}
      int gettileX()const{return tileX;}
      CItem getwep()const{return weapon;}
      CItem getshield()const{return shield;}
      CItem gethelm()const{return helm;}
      CItem getarmor()const{return armor;}
      CSpell getspells(int x)const{return spells[x];}
      CItem getinv(int x)const{return inv[x];}
      CPotion getpots(int x)const{return pots[x];}
      char* getname(){return characterName;}
      char* getclass(){return characterClass;}
      char* getwepname(){return getwep().getname();}
      char* gethelmname(){return gethelm().getname();}
      char* getarmorname(){return getarmor().getname();}
      char* getshieldname(){return getshield().getname();}
      int gettotal(char category[]);
      
      // Edit
      CItem* editwep(){return &weapon;}
      CItem* editshield(){return &shield;}
      CItem* edithelm(){return &helm;}
      CItem* editarmor(){return &armor;}
      CSpell* editspell(int x){return &spells[x];}
      CItem* editinv(int x){return &inv[x];}
      CPotion* editpot(int x){return &pots[x];}
      
      // Assign, Add, and Subtract
      void assignName(char newName[]){strcpy(characterName,newName);}
      void assignClass(char newClass[]){strcpy(characterClass,newClass);}
      void assembleChar(char charName[], char charClass[], int nexp, int ngold, int nlvl, int nhp, int nhpMax, int nmana, int nmanaMax, int nstr, int ndex, int nvit, int nenergy, int wep_id, int helm_id, int armor_id, int shield_id, int spell_ids[], int inv_ids[], int pot_ids[], int ntileY, int ntileX);
      void addgold(int amt){gold += amt;}
      void subgold(int amt){gold -= amt;}
      void addlvl(){lvl++;}
      void addhp(int amt){hp += amt;}
      void subhp(int amt){hp -= amt;}
      void assignhp(int total){hp = total;}
      void assignhpMax(int total){hpMax = total;}
      void addmana(int amt){mana += amt;}
      void submana(int amt){mana -= amt;}
      void assignmana(int total){mana = total;}
      void assignmanaMax(int total){manaMax = total;}
      void addstr(){str++;}
      void adddex(){dex++;}
      void addvit(){vit++;}
      void addenergy(){energy++;}
      void addtileY(int amt){tileY += amt;}
      void subtileY(int amt){tileY -= amt;}
      void addtileX(int amt){tileX += amt;}
      void subtileX(int amt){tileX -= amt;}
      void addexp(int amt, int lootedMoney);
      
      // Display
      void displayName()const{cout<<characterName<<flush;}
      void displayClass()const{cout<<characterClass<<flush;}
      void displaywepname()const{getwep().displayName();}
      void displayhelmname()const{gethelm().displayName();}
      void displayarmorname()const{getarmor().displayName();}
      void displayshieldname()const{getshield().displayName();}
      void displayinfo(int name = 0, int left = 0, int middle = 0, int right = 0);
      
      // Manipulators and Calculators
      int calctotaldef();
      void calctotalmeleedamage(int *minDamage, int *maxDamage);
      void calctotalmeleedamage(int *minDamage, int *maxDamage, CItem wep);
      void calctotalspelldamage(int *minDamage, int *maxDamage, int spellminD, int spellmaxD);
      int exptonLvl();
   protected:
      char characterName[MAXSTRING];
      char characterClass[MAXSTRING];
      int exp;
      int gold;
      int lvl;
      int hp;
      int hpMax;
      int mana;
      int manaMax;
      int str;
      int dex;
      int vit;
      int energy;
      CItem weapon;
      CItem helm;
      CItem armor;
      CItem shield;
      CSpell spells[MAXSPELLS];
      CItem inv[MAXITEMSPERINV];
      CPotion pots[MAXPOTS];
      int tileY;
      int tileX;
};    


/******************************Map Class*****************************/
class CMap{
   public:
      // Constructors/Deconstructors
   	CMap();                                //declares the map array
      ~CMap(){}
      
      // Manipulators
   	void move(int movement); //receives input to move around on the map
   	void printmap(int top = 3, int bottom = MAPROWSIZE - 1, int left = 1, int right = COLSIZE - 1);      //prints the map array
   	void printborders();
   	void changemap(int y, int x, char access){map[y][x] = access;}  //access y, x
   	void setxy(int newy, int newx){y = newy; x = newx;}   //set the heroDisplay in X,Y
   	char getmapcoord(int y, int x){return map[y][x];}
   	char getx(){return x;}
   	char gety(){return y;}
   private:
   	char map[TOTALROW][COLSIZE];                   //the map array
   	int x, y;                                       //cord. where your character is
};


/******************************Array of String Structure*****************************/
class IntStr{
   public:
     IntStr(int x) { sprintf (str, "%d", x); }
     char str[20];
};


/******************************Array of String Structure*****************************/
class CTown{
   public:
      void assignAll(char* ttownName, int tposY, int tposX, int ttileY, int ttileX, int tminItemLvl, int tmaxItemLvl, int tminSpellLvl, int tmaxSpellLvl, int ttownNum);
      char townName[MAXSTRING];
      int posY;
      int posX;
      int tileY;
      int tileX;
      int minItemLvl;
      int maxItemLvl;
      int minSpellLvl;
      int maxSpellLvl;
      int townNum;
}; 


/******************************Array of String Structure*****************************/
struct astring{
   char str[COLSIZE];
};


// GLOBAL VARIABLES
CSpell allSpells[MAXARRAY];
CItem allItems[MAXARRAY];
CBonus allBonuses[MAXARRAY];
CMonster allMonsters[MAXARRAY];
CPotion allPotions[MAXARRAY];
CMonster attacker;
CCharacter mainchar;
CMap Blank;
CMap tiles[MAPTILEROWS + 1][MAPTILECOLS + 1];
CTown town1;
CTown town2;
CTown town3;
CTown town4;


/******************************Function Prototypes*****************************/
// Display and Manipulators
void FullScreen();
void SizeWindow();
void arrows(char *string, int cent, int y, int xmin = 0, int xmax = COLSIZE);
void wordwrap(char text[], int maxlength, char replacement[] = "ERROR");
// Random Number Generators
int randomNum(int min, int max);
int randomLvl(int minlvl, int maxlvl, char type[]);
// Menus
int menu(int starty, int startx, int max, ...);
int charactermenu(int startx, int starty, int max, ...);
int potionandspellmenu(int startx, int starty, int potorspl, int max, ...); //potorspl == 1 -> pot... potorspl == 2 -> spell
void helpMenu();
// Save & Load
int saveGame();
int loadGame();
// Stories
void barbStory();
void knightStory();
void sorcStory();
void elfStory();
// Basic Game
void peoplePlaces();
void newGame();
// Towns
void gototown(CTown town);
// Mapping
void menubox();
void gearbox(int starters[]);
void gotomap();
// Map Tiles
void tile_tl(CMap &input);   // Top Left
void tile_tc(CMap &input);   // Top Center
void tile_tr(CMap &input);   // Top Right
void tile_ml(CMap &input);   // Middle Left
void tile_mc(CMap &input);   // Middle Center
void tile_mr(CMap &input);   // Middle Right
void tile_bl(CMap &input);   // Bottom Left
void tile_bc(CMap &input);   // Bottom Center
void tile_br(CMap &input);   // Bottom Right
// Battling
void attacked();
void attackScreen(char* attackerName);
void correctBattleScrn();
void usePot(int index);
void useSpell(int index, int* win, int* fight);
// Shops
void cleric(int town);
void magicShop(int town, int minSpellLvl, int maxSpellLvl);
void weaponShop(int minItemLvl, int maxItemLvl);
// Gear
void switchViewGear();
// Scan in Data
void scanInPotions(CPotion Pots[]);
void scanInSpells(CSpell Spells[]);
void scanInBonuses(CBonus Bonuses[]);
void scanInItems(CItem Items[]);
void scanInMonsters(CMonster Monsters[]);
void scanInLevels(int Levels[]);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -