📄 poa.hpp
字号:
// 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 + -