So, I have a array of monsters and a function to display their names. The problem is the debugger says Mons(the array) is undefined. I'd like to know what I'm doing wrong. Please help! The errors are mostly Mons is undefined.
#include <iostream>
#include <fstream>
#include <windows.h>
#include <time.h>
/**
RPG v0.1.6
-
**/
//-- WinAPI stuff
void ClearScreen()
{
HANDLE hStdOut;
CONSOLE_SCREEN_BUFFER_INFO csbi;
DWORD count;
DWORD cellCount;
COORD homeCoords = { 0, 0 };
hStdOut = GetStdHandle( STD_OUTPUT_HANDLE );
if (hStdOut == INVALID_HANDLE_VALUE) return;
/* Get the number of cells in the current buffer */
if (!GetConsoleScreenBufferInfo( hStdOut, &csbi )) return;
cellCount = csbi.dwSize.X *csbi.dwSize.Y;
/* Fill the entire buffer with spaces */
if (!FillConsoleOutputCharacter(
hStdOut,
(TCHAR) ' ',
cellCount,
homeCoords,
&count
)) return;
/* Fill the entire buffer with the current colors and attributes */
if (!FillConsoleOutputAttribute(
hStdOut,
csbi.wAttributes,
cellCount,
homeCoords,
&count
)) return;
/* Move the cursor home */
SetConsoleCursorPosition( hStdOut, homeCoords );
}
class Player {
public:
int HP;
int MHP;
int STR;
int AGI;
int RES;
int XP;
int LVL;
Player() { HP = 8; MHP = 8; STR = 4; AGI = 3; RES = 2; XP = 0; LVL = 1; };
private:
};
struct DT {
void save_to_file(std::string filename, const Player& P)
{
std::ofstream f( filename.c_str() );
f << P.HP << std::endl;
f << P.MHP << std::endl;
f << P.STR << std::endl;
f << P.AGI << std::endl;
f << P.RES << std::endl;
f << P.XP << std::endl;
f << P.LVL << std::endl;
}
bool load_from_file(std::string filename, Player& P) {
std::ifstream f( filename.c_str() );
f >> P.HP;
f >> P.MHP;
f >> P.STR;
f >> P.AGI;
f >> P.RES;
f >> P.XP;
f >> P.LVL;
if(f.good()){
std::cout << "Success!" << std::endl;
}
else {
std::cout << "Failure" << std::endl;
}
return f.good();
}
};
class Monster {
public:
int HP;
int MHP;
int STR;
int AGI;
int RES;
int XP;
std::string name;
///For Calling
Monster() { };
///Set variables for new battle
Monster(int A, int B, int C, int D, int E, int F, std::string G){
this->HP = A;
this->MHP = B;
this->STR = C;
this->AGI = D;
this->RES = E;
this->XP = F;
this->name = G;
};
void setStats(int A, int B, int C, int D, int E, int F, std::string G){
this->HP = A;
this->MHP = B;
this->STR = C;
this->AGI = D;
this->RES = E;
this->XP = F;
this->name = G;
};
};
int monstersalive = 3;
// -- Call Functions
void BtlDisplay(Player& P, Mons M[]);
void Battle(Player& P, Mons M[]);
int main()
{
// -- Call Classes
Player p;
DT d;
Monster Mons[3];
for(int j = 0; j < 3; j++){
Mons[j].setStats(9,9,9,9 + j,9,9,"Noob");
}
BtlDisplay(p,Mons);
//Battle(p,m);
d.save_to_file("GameData1.txt", p);
d.save_to_file("GameData2.txt", p);
d.save_to_file("GameData3.txt", p);
return 0;
}
void BtlDisplay(Player& P, Mons M[]) //-- Displays battle stats
{
ClearScreen();
std::cout << "---------" << std::endl;
std::cout << "L " << P.LVL << std::endl;
std::cout << "HP " << P.HP << "/" << P.MHP << std::endl;
std::cout << "---------\n\n" << std::endl;
std::cout << "Monsters\n--------" << std::endl;
for(int i = 0; i < 3; i++){
if(M[i].HP > 0){
}
}
}
void Battle(Player& P, Mons M[])
{
while(monstersalive > 0 && P.HP > 0){
srand(time(NULL));
}
}
Aucun commentaire:
Enregistrer un commentaire