Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Map.h"
- Map::Map()
- {
- ifstream lvlOne;
- string input;
- lvlOne.open("level1.txt");
- if (lvlOne.fail()) {
- perror("level1.txt");
- }
- else {
- while (getline(lvlOne, input)) {
- _levelData.push_back(input);
- }
- }
- }
- void Map::printMap()
- {
- for (int i = 0; i < _levelData.size(); i++) {
- cout << _levelData[i] << endl;
- }
- }
- void Map::setPlayer(Player &p1)
- {
- int x = p1.getXCords();
- int y = p1.getYCords();
- _levelData[y][x] = p1.getName();
- }
- void Map::movePlayer(Player &p1)
- {
- char input;
- int x = p1.getXCords();
- int y = p1.getYCords();
- input = _getch();
- switch (input) {
- case 'w':
- case 'W':
- if (collisionDetec(x, y - 1) == false) {
- return;
- }
- else {
- p1.moveY(-1);
- y = p1.getYCords();
- }
- break;
- case 's':
- case 'S':
- if (collisionDetec(x, y + 1) == false) {
- return;
- }
- else {
- p1.moveY(1);
- y = p1.getYCords();
- }
- break;
- case 'a':
- case 'A':
- if (collisionDetec(x - 1, y) == false) {
- return;
- }
- else {
- p1.moveX(-1);
- x = p1.getXCords();
- }
- break;
- case 'd':
- case 'D':
- if (collisionDetec(x + 1, y) == false) {
- return;
- }
- else {
- p1.moveX(1);
- x = p1.getXCords();
- }
- break;
- }
- _levelData[y][x] = p1.getName();
- }
- bool Map::collisionDetec(int x, int y)
- {
- if (_levelData[y][x] == '#') {
- return false;
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement