Russian Qt Forum
Май 01, 2024, 17:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: Игра "Морской Бой" с компьютером  (Прочитано 20219 раз)
Alexu007
Гость
« : Июнь 13, 2013, 23:35 »

Простенькая игрушечка с примитивной графикой, написанная непрофессионалом.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #1 : Июнь 14, 2013, 00:06 »

постыдился бы такой ужас выкладывать. глаза просто «истекают кровью» при виде кода (как форматирования и стиля написания, так и проектирования), а ты еще этот проект новичкам рекомендуешь.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2094



Просмотр профиля
« Ответ #2 : Июнь 14, 2013, 00:43 »

постыдился бы такой ужас выкладывать. глаза просто «истекают кровью» при виде кода (как форматирования и стиля написания, так и проектирования), а ты еще этот проект новичкам рекомендуешь.

Нормально всё) Новичкам полезно знать и видеть примеры архитектурных шыдэвров от пионеров начинающих своё изучение плюсов с Qt)

Возьми густой вишневый сок
И белый мамин плащ.
Лей аккуратно сок на плащ -
Получится пятно.
Теперь, чтоб не было пятна
На мамином плаще,
Плащ надо сунуть целиком
В густой вишневый сок.

Возьми вишневый мамин плащ
И кружку молока.
Лей аккуратно молоко -
Появится пятно.
Теперь, чтоб не было пятна
На мамином плаще,
Плащ надо сунуть целиком
В кастрюлю с молоком.

Возьми густой вишневый сок
И белый мамин плащ.
Лей аккуратно ...

Григорий Остер "вредные советы"
 

   
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Alexu007
Гость
« Ответ #3 : Июнь 14, 2013, 00:57 »

Зато работает.
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2094



Просмотр профиля
« Ответ #4 : Июнь 14, 2013, 00:58 »

Зато работает.
У меня не работает  Плачущий

Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Alexu007
Гость
« Ответ #5 : Июнь 14, 2013, 01:00 »

Почему?
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2094



Просмотр профиля
« Ответ #6 : Июнь 14, 2013, 01:02 »

Почему?

Хороший вопрос))
Со скольки раз угадаете?
« Последнее редактирование: Июнь 14, 2013, 01:06 от m_ax » Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Alexu007
Гость
« Ответ #7 : Июнь 14, 2013, 01:07 »

У меня всё работает, как при запуске из-под Qt, так и отдельно, при наличии необходимых библиотек ессно. У нас что, компьютеры разные, или у меня Qt кривой?
Записан
Figaro
Гость
« Ответ #8 : Июнь 14, 2013, 01:23 »

Сначала определитесь - зачем Вам Qt? Может проще WinAPI использовать? Улыбающийся
См. MessageBeep

Остальное даже не хочется комментировать...
Записан
Alexu007
Гость
« Ответ #9 : Июнь 14, 2013, 01:28 »

Qt creator позволяет создавать внешне симпатишные программы (с кнопками там, меню, таблицами ит.д.) излишне не заморачиваясь тонкостями языка, внутренним устройством этих самых кнопок, меню, таблиц, прогрессбаров разных.
Записан
Figaro
Гость
« Ответ #10 : Июнь 14, 2013, 01:49 »

Мда... Qt в первую очередь кроссплатформенная библиотека (для меня)...

Да возьмите любой игровой движок и натягивайте красоту и на меню и прочее... И все редакторами и простейшими скриптами... Там и не придется "заморачиваться тонкостями языка"...

P.S. Ток плюсы незачем так уродовать Улыбающийся
« Последнее редактирование: Июнь 14, 2013, 08:10 от Figaro » Записан
Bepec
Гость
« Ответ #11 : Июнь 14, 2013, 07:05 »

Ыть, гениально Веселый

Цитировать
X1 = X1 + X * X * X;

Особенно радуют комментарии Веселый 

Прям таки starwars вы написали.
// процедура формирует защитное поле вокруг корабля компьютера
// инициализация ГСЧ (Гигантского собакоподобного человека? Улыбающийся Или все новички наизусть знают сокращение от генератора случайных чисел? Веселый Веселый Веселый )
// устанавливаем
    Джедай переменная Pole_Dobivan
//  ранен
//  ошибка: не мимо и не ранен. (Да пребудет с тобой сила Веселый )
//  поле добивания раненых человека
//  проверка - есть ли раненые: Z = 0 - нет, 1 - есть
//  массив добивания раненых (Страшный пушко, да Веселый )
//  убит
//  устанавливаем защитное поле вокруг убитого корабля

FINISH HIM! FATALITY!  Смеющийся Смеющийся Смеющийся



Записан
Alexu007
Гость
« Ответ #12 : Июнь 14, 2013, 08:06 »

Ыть, гениально Веселый

Цитировать
X1 = X1 + X * X * X;

А тут то что не так? В X1 накапливаются иксы в 3 степени. Надо было X1 += X*X*X; - не всё ли равно?

Цитировать
Особенно радуют комментарии Веселый  

Прям таки starwars вы написали.
// процедура формирует защитное поле вокруг корабля компьютера
// инициализация ГСЧ (Гигантского собакоподобного человека? Улыбающийся Или все новички наизусть знают сокращение от генератора случайных чисел? Веселый Веселый Веселый )
// устанавливаем
    Джедай переменная Pole_Dobivan
//  ранен
//  ошибка: не мимо и не ранен. (Да пребудет с тобой сила Веселый )
//  поле добивания раненых человека
//  проверка - есть ли раненые: Z = 0 - нет, 1 - есть
//  массив добивания раненых (Страшный пушко, да Веселый )
//  убит
//  устанавливаем защитное поле вокруг убитого корабля

FINISH HIM! FATALITY!  Смеющийся Смеющийся Смеющийся

Комментарии я писал для себя, чтобы спустя несколько лет посмотреть на код и вспомнить, как что работает. Что в итоге и произошло: первый вариант МБ был написан аж на ассемблере на 486-м компе под DOS - я тогда ассемблер изучал. Потом был переписан на С++ builder - я билдер осваивал. Теперь пришла очередь Qt

Задачи научить новичков писать именно морские бои не ставилось. Помощь в борьбе с непонятным Qt - сигналы, слоты, перехват событий и прочая... Посмотрите, сколько вопросов в инете - как сделать это да как сделать то? А вот как - залезай в код рабочей программы и смотри, как сделано там.
 

« Последнее редактирование: Июнь 14, 2013, 08:15 от Alexu007 » Записан
Bepec
Гость
« Ответ #13 : Июнь 14, 2013, 08:33 »

Я тебе по секрету скажу - мне твой код непонятнее кода того же Qt раза в полтора Веселый

И да, готовых приложений - кучи. Классных приложений с раскомментированной каждой строкой  - дофига.
Сигнал слоты и всё остальное легко читается в Шлее.

PS а мешанину выкладывать с комментариями в стиле 80-х, когда все переменные это X Y Z, помоему это просто неприлично. Подмигивающий Ну да бог вам судья Веселый
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #14 : Июнь 14, 2013, 10:07 »

я когда расставил кораблики произвольным образом, долго не мог понять почему игра не хочет запускаться. пришлось лезть в код, чтобы узнать, что они не могут соприкасаться. о сообщениях об ошибке видимо ты никогда не слышал.

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

у тебя два класса для поля игрока и компа с копипастой кода — такое чувство, что о наследовании ты не слышал.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.066 секунд. Запросов: 22.