42 lines
820 B
C++
42 lines
820 B
C++
#include <SFML/Graphics.hpp>
|
|
#include <vector>
|
|
|
|
#include "gameTile.h"
|
|
|
|
#ifndef GAMEWORLD_H
|
|
#define GAMEWORLD_H
|
|
|
|
class GameWorld {
|
|
sf::Vector2i exitPos;
|
|
sf::Vector2i playerPos;
|
|
std::vector<sf::Vector2i> enemyPositions;
|
|
|
|
void setupInitialState();
|
|
void setupEnemyPositions();
|
|
void setupTiles();
|
|
|
|
void redrawSprites();
|
|
|
|
std::vector<sf::Vector2i> getFreeCoordinates(sf::Vector2i currentPos);
|
|
bool checkIfPositionIsFree(sf::Vector2i);
|
|
|
|
void moveEnemies();
|
|
|
|
bool checkIfReachedExit();
|
|
bool checkIfTouchedEnemy();
|
|
void checkCollisionsAndMoveEnemies();
|
|
|
|
public:
|
|
std::vector< std::vector<GameTile *> > tiles;
|
|
int gridLength;
|
|
|
|
GameWorld();
|
|
|
|
void moveLeft();
|
|
void moveUp();
|
|
void moveRight();
|
|
void moveDown();
|
|
};
|
|
|
|
#endif
|