Top.Mail.Ru
Ответы

Нужны некоторые пояснения к тому как написать морской бой на Python(3).

Выдали нам задание на курсовую работу (Вкратце: 10 на 10 поле, как обычно 4 корабля по одной клетке, 3 по 2 и. т. д. Если клетка верно угадана, она отмечается крестиком иначе точкой. Игра против компьютера! Она должна позволять расставлять корабли, контролировать правильность их расстановки и выдавать соответствующие информац. сообщения. Программа должна анализировать предыдущие ходы и делать следующий на основе проведенного анализа. Для игры компьютера реазлизовать стратегию в виде дерева. Корабли - в виде объектов).
Не прошу писать код, просто подскажите как лучше сделать, от чего отталкиваться и с чего начать. В питоне ооп не пользовались (с использованием кнопок лейблов и т. п.) Надо ли использовать Qtdesigner или как? И можно ли там написать одну программу в которой сразу будут заюзаны все объекты? Придется к каждой кнопке кода дохрена писать, ведь по идее выстрел - это нажатие кнопки на поле. Честно говоря, плохо вообще понимаю, как реализовать данную игру=(. Спасибо, если кто не поленится помочь.

Дополнен

Нашел что то про Tkinter. Надо ли это использовать?

По дате
По Рейтингу
Аватар пользователя
Новичок
9лет

Tkinter выглядит очень убого, но зато довольно прост в использовании. Для курсача подойдёт. Если не знаете, как в питоне использовать ООП, то именно этому и нужно научиться в первую очередь. Без объектов вы запутаетесь очень быстро (с объектами - немного помедленнее). Как поймёте, что к чему, сразу начинайте писать код (пока что без графического интерфейса), одновременно с этим изучая Tkinter. Кода для GUI придётся писать много, да. Тут уж ничего не поделаешь. Утешайте себя мыслью о том, что этот код довольно простой, код для реализации логики приложения будет намного сложнее. Изучите, что такое рекурсия, если ещё не знаете, и как правильно обходить деревья. Всё остальное - более или менее просто.

Аватар пользователя
Гуру
9лет

можно ли там написать одну программу в которой сразу будут заюзаны все объекты - ору....)