This repository has been archived on 2023-10-10. You can view files and clone it, but cannot push or open issues/pull-requests.
Explode/tile.cpp

79 lines
1.2 KiB
C++

#include "tile.h"
#include "general.h"
#include "GFXframework.h"
Tile::Tile()
{
m_Revealed = false;
m_Flagged = false;
}
Tile::~Tile()
{
}
void Tile::SetSpritePosition(int x, int y)
{
m_PosX = x;
m_PosY = y;
}
void Tile::Render()
{
if (!m_Flagged)
{
if (m_Revealed)
{
GFXframework::GetInstance()->DisplaySpriteAt(m_Type, m_PosX, m_PosY);
}
else
{
GFXframework::GetInstance()->DisplaySpriteAt(GROUND, m_PosX, m_PosY);
}
}
else
{
GFXframework::GetInstance()->DisplaySpriteAt(FLAG, m_PosX, m_PosY);
}
}
bool Tile::TestClick(int x, int y)
{
if ( x > m_PosX && x <= m_PosX + TILE_SIZE_X &&
y > m_PosY && y <= m_PosY + TILE_SIZE_Y)
{
if (!m_Revealed && !m_Flagged)
{
m_Revealed = true;
return true;
}
}
return false;
}
bool Tile::TestRightClick(int x, int y)
{
if ( x > m_PosX && x <= m_PosX + TILE_SIZE_X &&
y > m_PosY && y <= m_PosY + TILE_SIZE_Y)
{
if (!m_Revealed)
{
m_Flagged = !m_Flagged;
return true;
}
}
return false;
}
bool Tile::TestPosition(int x, int y)
{
if ( x > m_PosX && x <= m_PosX + TILE_SIZE_X &&
y > m_PosY && y <= m_PosY + TILE_SIZE_Y)
{
return true;
}
return false;
}