1 / 1 / 0
Регистрация: 31.03.2018
Сообщений: 4
|
|
1 | |
Морской бой на python31.03.2018, 18:55. Показов 5768. Ответов 2
Морской бой
Ваш друг любит играть в морской бой на нескольких «досках» сразу, но ленится каждый раз придумывать новое поле. Он попросил вас сделать программу, которая будет расставлять корабли. Однако друг не до конца доверяет компьютеру, поэтому вы договорились о такой схеме: он рисует одно поле, а вы на основе этого поля делаете еще семь других полей (так что в итоге их получается восемь). Эти поля вы делаете, комбинируя до трех действий: отражение поля по горизонтали, отражение поля по вертикали и транспонирование поля. Транспонирование — это операция, в ходе которой строки и столбцы меняются местами. Можно сказать, что это отражение поля относительно диагонали, проведённой из верхнего левого угла. Все поля – квадратные. Вам не обязательно писать целых восемь функций, чтобы получить все поля. Достаточно написать три функции для отражений/транспонирования и скомбинировать их правильным образом. Каждая функция, выполняющая переворот, должна принимать одно поле и возвращать другое. Не испортите случайно оригинальное поле, ведь тогда вам будет сложно уследить за тем, какие поля уже были, какие ещё нет. Поле проще всего представить как список списков, в котором расставлены либо пробелы, либо точки (или нолики и единички, или любая другая пара символов). Не забудьте написать функции вывода поля на экран, ведь на этих полях еще играть. В качестве решения приложите файл с кодом, в котором обязательно должны присутствовать комментарии, поясняющие работу программы. Данная задача проверяется преподавателем. Пример: Исходное поле (4x4): xxx. .... x.xx x... Итоговые поля: (исходное поле) xxx. .... x.xx x... (горизонтальное отражение) .xxx .... xx.x ...x (вертикальное отражение) x... x.xx .... xxx. (транспонирование) x.xx x... x.x. ..x. (отражение вдоль горизонтали и вертикали одновременно) ...x xx.x .... .xxx (горизонтальное отражение, затем транспонирование или транспонирование, затем вертикальное отражение) ..x. x.x. x... x.xx (вертикальное отражение, затем транспонирование или транспонирование, затем горизонтальное отражение) xx.x ...x .x.x .x.. (транспонирование, затем два отражения или два отражения, затем транспонирование) .x.. .x.x ...x xx.x
0
|
31.03.2018, 18:55 | |
Ответы с готовыми решениями:
2
Морской бой Морской бой Морской бой Морской бой Морской бой |
0 / 0 / 0
Регистрация: 30.03.2018
Сообщений: 6
|
|
31.03.2018, 21:36 | 2 |
В чём проблема тупо вывести на экран?
0
|
1 / 1 / 0
Регистрация: 31.03.2018
Сообщений: 4
|
|
31.03.2018, 21:40 [ТС] | 3 |
Могут вводиться разные поля.
0
|
31.03.2018, 21:40 | |
31.03.2018, 21:40 | |
Помогаю со студенческими работами здесь
3
Морской бой Морской бой Морской бой Морской бой Морской бой Морской бой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |