#include "AsprinTarget.h" #include "Defines.h" //This is the item that you are trying to touch; a hollowed rounded rectangle static unsigned short image_Object[] = { 0x2a01,0x0010,0x0010,0x0000,0xffff,0xffff,0x0000,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0xdefb,0xdedb, 0xffff,0x0000,0x12cc,0x12cc,0x12cc,0x12ab,0x12ab,0x128b,0x128a,0x126a, 0x126a,0x126a,0x126a,0x126a,0x0020,0xd6ba,0x0000,0xdce6,0xdce6,0xdce6, 0x12cb,0xcca6,0xcc86,0xc466,0x128b,0xbc46,0xbc46,0xbc46,0x128b,0xbc46, 0xbc46,0x0020,0x0000,0x12cc,0x12cc,0x12cc,0x12cc,0x12ab,0x12ab,0x128b, 0x128a,0x126a,0x126a,0x126a,0x126a,0x126a,0x126a,0x0020,0x0000,0xdce6, 0xdce6,0xdce6,0x12cb,0xcca6,0xcc86,0xc466,0x128b,0xbc46,0xbc46,0xbc46, 0x128b,0xbc46,0xbc46,0x0020,0x0000,0x12cc,0x12cc,0x12cc,0x12cc,0x12ab, 0x12ab,0x128b,0x128b,0x128a,0x128a,0x128a,0x128a,0x128a,0x128a,0x0020, 0x0000,0xdce6,0xdce6,0xdce6,0x12cc,0xd4a6,0xcca6,0xc486,0x12ab,0xc466, 0xc466,0xc466,0x12ab,0xc466,0xc466,0x0020,0x0000,0x12cc,0x12cc,0x12cc, 0x12cc,0x12cc,0x12ab,0x12ab,0x128b,0x128b,0x128b,0x128b,0x128b,0x128b, 0x128b,0x0000,0x0000,0xdce6,0xdce6,0xdce6,0x12cc,0xd4c6,0xd4c6,0xcca6, 0x12ab,0xcca6,0xcca6,0xcca6,0x12ab,0xcca6,0xcca6,0x0000,0x0000,0x12cc, 0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12ab,0x12ab,0x12ab,0x12ab, 0x12ab,0x12ab,0x12ab,0x0000,0x0000,0xdce6,0xdce6,0xdce6,0x12cc,0xdce6, 0xdce6,0xd4c6,0x12cc,0xd4c6,0xd4c6,0xd4c6,0x12cc,0xd4c6,0xd4c6,0x0000, 0x0000,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc, 0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x0000,0x0000,0xdce6,0xdce6,0xdce6, 0x12cc,0xdce6,0xdce6,0xdce6,0x12cc,0xdce6,0xdce6,0xdce6,0x12cc,0xdce6, 0xdce6,0x0000,0x0000,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc, 0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x0000,0xffff,0x0000, 0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc, 0x12cc,0x12cc,0x0000,0xffff,0xffff,0xffff,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xffff,0xffff }; AsprinTarget::AsprinTarget(SDL_Surface* pScreen) : m_pScreen(pScreen), m_nX(0), m_nY(0) { m_pObject = nSDL_LoadImage(image_Object); SDL_SetColorKey(m_pObject, SDL_SRCCOLORKEY, SDL_MapRGB(m_pObject->format, 255, 255, 255)); Setup(); } AsprinTarget::~AsprinTarget() { SDL_FreeSurface(m_pObject); } void AsprinTarget::Setup() { m_nX = rand() % (SCREEN_WIDTH - OBJECT_WIDTH - BOARD_OFFSET_RIGHT); m_nY = rand() % (SCREEN_HEIGHT - OBJECT_HEIGHT - BOARD_OFFSET_BOTTOM); } void AsprinTarget::GetPos(int& nX, int& nY) const { nX = m_nX; nY = m_nY; } void AsprinTarget::UpdateDisplay() { DrawObject(m_nX, m_nY); } void AsprinTarget::DrawObject(int nX, int nY) { SDL_Rect rectDest; rectDest.x = nX; rectDest.y = nY; rectDest.w = OBJECT_WIDTH; rectDest.h = OBJECT_HEIGHT; SDL_BlitSurface(m_pObject, NULL, m_pScreen, &rectDest); }