#include \n#include <conio.h>\n\nusing namespace std;\n\nconst int MAP_SIZE = 10;\n\nstruct Position {\n int x;\n int y;\n};\n\nclass Game {\nprivate:\n Position playerPosition;\n Position enemyPosition;\n bool isGameOver;\n\npublic:\n Game() {\n playerPosition.x = 0;\n playerPosition.y = 0;\n enemyPosition.x = MAP_SIZE - 1;\n enemyPosition.y = MAP_SIZE - 1;\n isGameOver = false;\n }\n\n void drawMap() {\n cout << " ";\n for (int i = 0; i < MAP_SIZE; i++) {\n cout << "-";\n }\n cout << " " << endl;\n\n for (int i = 0; i < MAP_SIZE; i++) {\n cout << "|";\n for (int j = 0; j < MAP_SIZE; j++) {\n if (i == playerPosition.y && j == playerPosition.x) {\n cout << "P";\n } else if (i == enemyPosition.y && j == enemyPosition.x) {\n cout << "E";\n } else {\n cout << " ";\n }\n }\n cout << "|" << endl;\n }\n\n cout << " ";\n for (int i = 0; i < MAP_SIZE; i++) {\n cout << "-";\n }\n cout << " " << endl;\n }\n\n void updatePlayerPosition(char key) {\n switch (key) {\n case 'w':\n if (playerPosition.y > 0) {\n playerPosition.y--;\n }\n break;\n case 's':\n if (playerPosition.y < MAP_SIZE - 1) {\n playerPosition.y++;\n }\n break;\n case 'a':\n if (playerPosition.x > 0) {\n playerPosition.x--;\n }\n break;\n case 'd':\n if (playerPosition.x < MAP_SIZE - 1) {\n playerPosition.x++;\n }\n break;\n }\n }\n\n void updateGame(char key) {\n updatePlayerPosition(key);\n if (playerPosition.x == enemyPosition.x && playerPosition.y == enemyPosition.y) {\n isGameOver = true;\n }\n }\n\n bool getGameOver() {\n return isGameOver;\n }\n};\n\nint main() {\n Game game;\n\n while (!game.getGameOver()) {\n system("cls");\n game.drawMap();\n\n char key = _getch();\n if (key == ' ') {\n cout << "Player attacked!" << endl;\n } else {\n game.updateGame(key);\n }\n }\n\n cout << "Game Over!" << endl;\n\n return 0;\n}