Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2011, 00:17   #1
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию QT seaBattle o_O

вот уже недели 4 мы изучаем QT, как нам задают написать морской бой
есть вопрос, как нужно описать поле? ведь оно состоит не из кнопок? и что из себя представляют корабли..пожалуйста, кто может объяснить небольшой алгоритм
I'm a rebel. [I think positively].
Guzal вне форума Ответить с цитированием
Старый 02.03.2011, 01:18   #2
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Qt пишется как Qt. А не как QT. Это не аббревиатура.
А теперь по теме. Хотелось бы узнать, что ты умеешь в Qt. А именно:
1) Метод paintEvent в QWidget и его потомках
2) QGraphicsScene/QGraphicsView
С чем из вышеперечисленного вы работали?
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 02.03.2011, 08:42   #3
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию

да, методы paintEvent в QWidget проходили, еще класс MainWindow или как правильно..MainWindow framework
I'm a rebel. [I think positively].
Guzal вне форума Ответить с цитированием
Старый 02.03.2011, 08:58   #4
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

А QGraphicsScene не было? Ну в общем пофиг, тут лучше без него.

Тебе никакие кнопочки не нужны. Делаем класс BattleshipsField, унаследованный от QWidget. Там делаем enum CellState {FreeCell, AliveShip, DeadShip} и создаём двухмерный массив элементов этого enum'а (QVector<QVector<CellState>>). Делаем mousePressEvent и paintEvent, взаимодействующие с этим массивом. Всё. Это если не лезть в дебри ООП и не создавать класс «корабль» (хотя лично я бы в дебри ООП полез, но у тебя ведь учебный проект, написал и забыл).
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 02.03.2011, 10:27   #5
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

И да, http://code.google.com/p/fairseabattle/
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 02.03.2011, 22:11   #6
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию

(QVector<QVector<CellState>> эм..
спасибо за ссылку, будем разбираться) хотя я тоже нашла супернавороченный морской бой, но в этом надеюсь разобраться будет легче..
спасибо
I'm a rebel. [I think positively].
Guzal вне форума Ответить с цитированием
Старый 02.03.2011, 23:04   #7
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

хорошо вам. я думал дальше дельфи нигде не дают.
onewho вне форума Ответить с цитированием
Старый 03.03.2011, 08:39   #8
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Цитата:
(QVector<QVector<CellState>> эм..
Если точнее, то так: делаем typedef QList<CellState> CellStateList; после чего делаем поле QList<CellStateList>. И QVector тут ни к чему.

Цитата:
но в этом надеюсь разобраться будет легче
Не надо разбираться, пишите свой. Там же всё просто, я объяснил. Или не поняли?
Цитата:
хорошо вам. я думал дальше дельфи нигде не дают.
По мне так Дельфи сложнее в изучении и гораздо хуже в качестве инструмента.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 04.03.2011, 21:29   #9
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию

можете мне помоч с полем. я не знаю как использовать QList поэтому хочу создать поле из кнопок, 10х10, как сделать так чтобы у каждого поля было свое место, заключить их в какую-нибудь рамку, у меня главный лэйаут горизонтальный и в нем 2 грид лэйаута, состоящих из кнопок..выглядит ужасно, но учитель сказал делать так, могу показать код если нужно
I'm a rebel. [I think positively].

Последний раз редактировалось Guzal; 04.03.2011 в 21:35.
Guzal вне форума Ответить с цитированием
Старый 05.03.2011, 03:50   #10
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Пиши в почту или в жаббер obey собака obey точечка su. Помогу как могу.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
расширение *.gfx O_o ????? zzzzzz Общие вопросы по Java, Java SE, Kotlin 11 06.06.2018 14:21
Траф что это O_o? Траф и CMS 8Акр8 WordPress и другие CMS 4 22.09.2009 03:27
Дали детям две задачки на олимпиаде по информатике O_O Каля-маля Помощь студентам 8 10.11.2008 17:29