Форум программистов, компьютерный форум, киберфорум
Наши страницы
IamLost
Войти
Регистрация
Восстановить пароль
Оценить эту запись

C+ морской бой

Запись от IamLost размещена 05.07.2019 в 10:01
Обновил(-а) IamLost 13.07.2019 в 14:30 (1.0.1)

Ещё порция говнокода... Порция стала больше и сложнее для понимания.

Проект создан в VS 2019, теперь компилируются для x86 и x64. Пути перепроверил несколько раз (копировал папку с проектом в другое место и от туда пробовал его открывать и компилировать. Не знаю насколько подобный метод корректен, однако, он работает).

Архив Game содержит всё необходимое для запуска игры (по крайней мере у меня на компе он запускает игру. Если у кого-то что-то работать не будет, то пишите, постараюсь фиксануть). Для запуска открывайте RunX86 или Runx64.

Архив VSDev содержит исходный код, а также копию папки Game, так как в ней находятся все ресурсы, которые использует игра.

Добавил функцию сохранения игры, сохранения можно удалять. (Текущее время на ход не сохраняется, не хочу даже с этим возиться).
Исправил ряд косяков + улучшил несколько моментов.
Обновленная версия на гите, обновлять архив - лень.

Всем спасибо за любой фидбек!

Наконец-то хоть немного разобрался с процессом использования git-а из командной строки. Exe-шники из Game удалил, остальное всё на месте, должно компилироваться.
Github
Изображения
Тип файла: jpg Screenshot (58).jpg (218.2 Кб, 77 просмотров)
Вложения
Тип файла: rar BattleShip.rar (24.03 Мб, 37 просмотров)
Размещено в Без категории
Просмотров 310 Комментарии 16
Всего комментариев 16
Комментарии
  1. Старый комментарий
    Запустить готовый exe не смог из-за ошибки

    Собрал сам, собралось хорошо, без правок.

    Если посреди игры отойти на минуту, то игра переходит в состояние Loose и если начать новую игру, то сразу Loose

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

    По коду, SDL торчит со всех сторон, можно было подбавить абстракций и работать в игре с собственными типами
    Запись от ТабуретY размещена 05.07.2019 в 12:51 ТабуретY вне форума
    Обновил(-а) ТабуретY 05.07.2019 в 12:53
  2. Старый комментарий
    Цитата:
    Сообщение от ТабуретY Просмотреть комментарий
    Запустить готовый exe не смог из-за ошибки

    Собрал сам, собралось хорошо, без правок.

    Если посреди игры отойти на минуту, то игра переходит в состояние Loose и если начать новую игру, то сразу Loose

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

    По коду, SDL торчит со всех сторон, можно было подбавить абстракций и работать в игре с собственными типами
    1.Что за ошибка? Exe-шники там не работают даже у меня, так как я не знаю как им пути к DLL прописать + я их часто менял в процессе разработки и поэтому сделал .bat файлы.
    2.Фиксанул.
    3.Можно добавить, но смысла в этом особого нет, так как человек то понимает, что корабля рядом быть не может + компьютер также. Там алгоритм достаточно прост, но и не совсем глуп.
    4.Мои собственные типы данных пока не особо и требовались, поэтому решил не заморачиваться. В след проекте мб.
    Запись от IamLost размещена 05.07.2019 в 14:04 IamLost вне форума
  3. Старый комментарий
    Цитата:
    Сообщение от IamLost Просмотреть комментарий
    1.Что за ошибка? Exe-шники там не работают даже у меня, так как я не знаю как им пути к DLL прописать + я их часто менял в процессе разработки и поэтому сделал .bat файлы.
    Вот такая ошибка
    Цитата:
    $ BattleShipx64.exe
    [src/libmpg123/id3.c:482] error: No comment text / valid description?
    [src/libmpg123/id3.c:482] error: No comment text / valid description?
    Запись от ТабуретY размещена 05.07.2019 в 15:56 ТабуретY вне форума
  4. Старый комментарий
    Аватар для XLAT
    закинул exe и ресы к длл и обошелся без засера переменных среды:
    получилась вот такая структура:
    Код:
    └───game
        │   BattleShipWin32.exe
        │   libFLAC-8.dll
        │   libfreetype-6.dll
        │   libjpeg-9.dll
        │   libmodplug-1.dll
        │   libmpg123-0.dll
        │   libogg-0.dll
        │   libopus-0.dll
        │   libopusfile-0.dll
        │   libpng16-16.dll
        │   libtiff-5.dll
        │   libvorbis-0.dll
        │   libvorbisfile-3.dll
        │   libwebp-7.dll
        │   SDL2.dll
        │   SDL2_image.dll
        │   SDL2_mixer.dll
        │   SDL2_ttf.dll
        │   zlib1.dll
        │   
        ├───Font
        │       FreeSansBold.ttf
        │       
        ├───Sounds
        │       destroyed.mp3
        │       error.mp3
        │       hit.mp3
        │       miss.mp3
        │       select_menu_item.wav
        │       
        └───Textures
            ├───Board
            │       background.png
            │       miss.png
            │       
            ├───Fight
            │       lose.png
            │       time_panel.png
            │       win.png
            │       
            ├───Help
            │       background.png
            │       
            ├───MainMenu
            │       background.png
            │       continue_item.png
            │       exit_item.png
            │       help_item.png
            │       load_item.png
            │       menu_item.png
            │       new_game_item.png
            │       scores_item.png
            │       
            ├───NewGame
            │       background.png
            │       fight_button.png
            │       random_button.png
            │       ship_panel.png
            │       
            └───Ships
                    destroyed.png
                    Hit.png
                    ship_1_horz.png
                    ship_1_vert.png
                    ship_2_horz.png
                    ship_2_vert.png
                    ship_3_horz.png
                    ship_3_vert.png
                    ship_4_horz.png
                    ship_4_vert.png
    Запись от XLAT размещена 05.07.2019 в 16:26 XLAT вне форума
    Обновил(-а) XLAT 05.07.2019 в 16:28
  5. Старый комментарий
    Аватар для Croessmah
    goto нет? Классы использовал? Фу!
    Запись от Croessmah размещена 05.07.2019 в 19:57 Croessmah вне форума
    Обновил(-а) Croessmah 05.07.2019 в 19:58
  6. Старый комментарий
    Цитата:
    Сообщение от Croessmah Просмотреть комментарий
    goto нет? Классы использовал? Фу!
    Там без goto чёрт голову сломит).
    Запись от IamLost размещена 05.07.2019 в 20:35 IamLost вне форума
  7. Старый комментарий
    Аватар для XLAT
    IamLost ,
    SDL вроде могет на андоиде?
    жду .apk под телефон.

    иначе зачем он нужен энтот SDL
    Запись от XLAT размещена 05.07.2019 в 21:39 XLAT вне форума
  8. Старый комментарий
    Цитата:
    Сообщение от XLAT Просмотреть комментарий
    IamLost ,
    SDL вроде могет на андоиде?
    жду .apk под телефон.

    иначе зачем он нужен энтот SDL
    Не, смартфоны пока не интересны + игра - ничего интересного.

    У меня есть желание след проект написать полностью с нуля (правда, будет он исключительно под Windows, так как опыта с Linuxом у меня 0, про OSX такому бомжу как я и мечтать не стоит) или попробовать сделать обрезанный аналог SDL (только для работы с графикой), благо исходники той же SDL открыты и можно их свободно изучать.

    Если следующим проектом буду делать игру, то возникает ряд проблем. Во-первых - это текстуры, это реальная проблема, так как картинка то в голове +- есть, но я не могу её перенести на экран. Во-вторых в планах сделать некое подобие "открытого" 2d мира и я понятия не имею как реализовать камеру, а также представление координат объектов. Я делал что-то "подобное" - сапёр, там человек мог сам устанавливать размер поля, тогда всё игровое поле я хранил в двумерном массиве и там понятно как можно было сделать камеру. Я вижу только один способ - это тупо перебирать все объекты нашего "мира" и проверять, находятся ли они в области видимости камеры. Короче тут надо пробовать.

    А пока беру перерыв дня на 4.

    18+
    Кликните здесь для просмотра всего текста
    А может быть и будет что-то на питоне...
    Запись от IamLost размещена 05.07.2019 в 22:21 IamLost вне форума
  9. Старый комментарий
    Цитата:
    Сообщение от IamLost Просмотреть комментарий
    будет он исключительно под Windows, так как опыта с Linuxом у меня 0, про OSX такому бомжу как я и мечтать не стоит
    С++ + Qt спасут отца русской демократии...
    Запись от voral размещена 06.07.2019 в 17:41 voral вне форума
  10. Старый комментарий
    Аватар для Avazart
    И в Qt можно использовать Qt-шную обвертку на OpenGL если захочется.
    А нет - GraphicsScene или тупо в QPaiter-e.
    Запись от Avazart размещена 06.07.2019 в 18:23 Avazart вне форума
    Обновил(-а) Avazart 06.07.2019 в 18:25
  11. Старый комментарий
    Аватар для XLAT
    Цитата:
    Сообщение от IamLost Просмотреть комментарий
    про OSX такому бомжу как я и мечтать не стоит
    вот эпический тред про OSX
    если дочитать до конца то можно сделать правильные выводы в пользу самоуважения
    Запись от XLAT размещена 06.07.2019 в 20:57 XLAT вне форума
  12. Старый комментарий
    Цитата:
    Сообщение от voral Просмотреть комментарий
    С++ + Qt спасут отца русской демократии...
    Вопрос в том, будет ли Qt рендерить картинку с такой же скоростью как SDL. Несколько раз я встречал информацию, что SDL использует OpenGL функции то есть видеокарту.

    Цитата:
    Сообщение от XLAT Просмотреть комментарий
    вот эпический тред про OSX
    если дочитать до конца то можно сделать правильные выводы в пользу самоуважения
    Спасибо! Но сути это не меняет.
    Запись от IamLost размещена 06.07.2019 в 23:04 IamLost вне форума
  13. Старый комментарий
    Аватар для XLAT
    Цитата:
    Сообщение от IamLost Просмотреть комментарий
    Вопрос в том, будет ли Qt рендерить картинку с такой же скоростью как SDL.
    вот сделано c QT
    Запись от XLAT размещена 06.07.2019 в 23:14 XLAT вне форума
  14. Старый комментарий
    Цитата:
    Сообщение от XLAT Просмотреть комментарий
    вот сделано c QT
    Скорее всего, также использует GPU. Нашёл только это, предположу, что им ничего не мешало сделать аналогичное для PC.
    Сейчас учу Python и PyQt5, слышал есть способы организовать взаимодействие C++ и Python кода, мб тогда вообще лучше создавать GUI в Python, а остальное в ++.
    В любом случае спасибо!
    Запись от IamLost размещена 08.07.2019 в 21:00 IamLost вне форума
  15. Старый комментарий
    Аватар для Avazart
    Цитата:
    что им ничего не мешало сделать аналогичное для PC
    А откуда уверенность что этого нет?

    Нет лучше сразу использовать C++.
    К тому же гуи клепать проще через QtCreator нежели QtDesiginer
    Запись от Avazart размещена 09.07.2019 в 17:19 Avazart вне форума
  16. Старый комментарий
    Цитата:
    Сообщение от Avazart Просмотреть комментарий
    А откуда уверенность что этого нет?
    Нет лучше сразу использовать C++.
    К тому же гуи клепать проще через QtCreator нежели QtDesiginer
    Я наоборот уверен в том, что оно там должно быть.
    Хорошо, буду знать.
    Попробуем.
    Запись от IamLost размещена 09.07.2019 в 19:03 IamLost вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru