//GameScreenLevel1.cpp
void GameScreenLevel1::SetLevelMap() {
//0 blank, 1 wall, 2 win condition
int map[MAP_HEIGHT][MAP_WIDTH] = {
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0},
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
};
//Clear up any old map
if (mLevelMap != NULL)
{
delete mLevelMap;
}
//Set up the new one
mLevelMap = new LevelMap(map);
}
//Collision.cpp
bool Collision::Circle(Character* character1, Character* character2) {
//Calculate Vector between 2 characters
Vector2D vec = Vector2D((character1->GetPosition().x - character2->GetPosition().x), (character1->GetPosition().y - character2->GetPosition().y));
//Calculate lenght from vector
double distance = sqrt((vec.x * vec.x) + (vec.y * vec.y));
//Get Collision Radius
double combinedDistance = (character1->GetCollisionRadius() - character2->GetCollisionRadius());
if (distance < combinedDistance) {
return true;
}
else return false;
}
bool Collision::Box(Rect2D rect1, Rect2D rect2) {
if (rect1.x + (rect1.width / 2) > rect2.x && rect1.x + (rect1.width / 2) < rect2.x + rect2.width && rect1.y + (rect1.height / 2) > rect2.y && rect1.y + (rect1.height / 2) < rect2.y + rect2.height) {
return true;
}
return false;
}