Code:
void room::Init(int newX, int newY, int newWidth, int newBreadth)
{
X = newX;
Y = newY;
Width = newWidth + 1; // This is so the room is as wide as we told it to be
Breadth = newBreadth + 1; // This is so the room is as tall as we told it to be
ASCIIMan.Init(X + Width - 2, Y + Breadth - 2, PlayerASCII);
}
int room::getBreadth()
{
return Breadth;
}
int room::getWidth()
{
return Width;
}
int room::getX()
{
return X;
}
int room::getY()
{
return Y;
}
bool room::isWalkable(char newASCIIChar)
{
int tile = newASCIIChar;
if (tile == FloorTileASCII ||
tile == PlayerASCII)
{
return true;
}
else
{
return false;
}
}
Character room::getPlayer()
{
return ASCIIMan;
}
void room::draw()
{
int drawX = X;
int drawY = Y;
// Draw the floor tiles
while(drawX < X + Width)
{
while(drawY < Y + Breadth)
{
// Draw tile drawX, drawY
console.Draw(drawX, drawY, FloorTileASCII);
drawY++;
}
drawX++;
drawY = Y;
}
// Draw the walls
drawX = X;
while(drawX < X + Width)
{
console.Draw(drawX, Y, HorizontalWallASCII);
console.Draw(drawX, Y + Breadth, HorizontalWallASCII);
drawX++;
}
drawY = Y;
while(drawY < Y + Breadth)
{
console.Draw(X, drawY, VerticalWallASCII);
console.Draw(X + Width, drawY, VerticalWallASCII);
drawY++;
}
// Draw the corners
console.Draw(X, Y, TopLeftCornerASCII);
console.Draw(X + Width, Y, TopRightCornerASCII);
console.Draw(X + Width, Y + Breadth, BotRightCornerASCII);
console.Draw(X, Y + Breadth, BotLeftCornerASCII);
}void room::Init(int newX, int newY, int newWidth, int newBreadth)
{
X = newX;
Y = newY;
Width = newWidth + 1; // This is so the room is as wide as we told it to be
Breadth = newBreadth + 1; // This is so the room is as tall as we told it to be
ASCIIMan.Init(X + Width - 2, Y + Breadth - 2, PlayerASCII);
}
int room::getBreadth()
{
return Breadth;
}
int room::getWidth()
{
return Width;
}
int room::getX()
{
return X;
}
int room::getY()
{
return Y;
}
bool room::isWalkable(char newASCIIChar)
{
int tile = newASCIIChar;
if (tile == FloorTileASCII ||
tile == PlayerASCII)
{
return true;
}
else
{
return false;
}
}
Character room::getPlayer()
{
return ASCIIMan;
}
void room::draw()
{
int drawX = X;
int drawY = Y;
// Draw the floor tiles
while(drawX < X + Width)
{
while(drawY < Y + Breadth)
{
// Draw tile drawX, drawY
console.Draw(drawX, drawY, FloorTileASCII);
drawY++;
}
drawX++;
drawY = Y;
}
// Draw the walls
drawX = X;
while(drawX < X + Width)
{
console.Draw(drawX, Y, HorizontalWallASCII);
console.Draw(drawX, Y + Breadth, HorizontalWallASCII);
drawX++;
}
drawY = Y;
while(drawY < Y + Breadth)
{
console.Draw(X, drawY, VerticalWallASCII);
console.Draw(X + Width, drawY, VerticalWallASCII);
drawY++;
}
// Draw the corners
console.Draw(X, Y, TopLeftCornerASCII);
console.Draw(X + Width, Y, TopRightCornerASCII);
console.Draw(X + Width, Y + Breadth, BotRightCornerASCII);
console.Draw(X, Y + Breadth, BotLeftCornerASCII);
}