Задача для зачета
Программе дается текстовый файл с прямоугольным изображением типа такого:
...####...####
...#..#...#..#
...#..#...####
...#..###.....
...#....#.....
...#....#.....
..##..o.#####.
..#.........#.
..###########.
Здесь как будто нарисована карта со стенками (символ #) и с пустым пространством (символ .) Кроме того, на карте отмечен символ o.
Создайте класс Map
, который позволяет работать с такой картой. Он должен прочитать ее в виде списка строк, где
каждая строка — это список символов. Т.е. что-то типа [['.', '.', '.', '#', ..], [...], ...]
Должен работать следующий код:
m = Map('a.txt') # чтение файла
m.print() # печать карты на экран, карта должна выглядеть как выше, без скобок и запятых
print(m.countWalls()) # считает сколько стенок на карте
print(m.findPoint()) # возвращает кортеж из двух чисел — координат символа 'o'
m2 = m.rotate() # поворачивает карту на 90 градусов по часовой стрелке
m2.print() # смотрим результат
m.print() # а старая карта не изменилась