|
15 / 13 / 4
Регистрация: 16.08.2018
Сообщений: 125
|
||||||
Оцените простенькую игру16.08.2018, 07:17. Показов 814. Ответов 6
Метки нет (Все метки)
Написал небольшую игру,
Суть в том что бы угадать число. Я старался хорошо закомментировать код и сделать его наиболее читабельным на моём уровне. Желательно конструктивная критика моего кода.
0
|
||||||
| 16.08.2018, 07:17 | |
|
Ответы с готовыми решениями:
6
Оцените консольную игру, где символ убивает себе подобных Написать простенькую 2д игру но не знаю с чего начать Как создать простенькую игру для Windows Phone |
|
2 / 2 / 0
Регистрация: 27.03.2017
Сообщений: 14
|
||||||
| 16.08.2018, 09:14 | ||||||
|
особо не смотрел, но при каждом запуске у тебя будет одно и то же превдослучайное число, нужно инициализировать генератор с помощью
0
|
||||||
|
15 / 13 / 4
Регистрация: 16.08.2018
Сообщений: 125
|
|
| 16.08.2018, 09:48 [ТС] | |
|
Хммм, я Программист-самоучка, объясни почему goto не следует изпользовать?
И да, Я тестировал, числа случайные...
0
|
|
|
2 / 2 / 0
Регистрация: 27.03.2017
Сообщений: 14
|
|
| 16.08.2018, 09:54 | |
|
я не заметил в коде srand, прошу прощения.
goto в c++ не используют, потому что это ухудшает читаемость кода (Спагетти-код)
0
|
|
|
15 / 13 / 4
Регистрация: 16.08.2018
Сообщений: 125
|
|
| 16.08.2018, 10:05 [ТС] | |
|
Про спаггети-код я слышал, я его избегаю, но в этом случае когда всё(кроме очевидного) закомментировано и когда код относительно небольшой, спаггети-кода вроде не получаеться.
Тоесть можно легко понять что goto Restart; Перезагружает игру и goto Restart_nf; Переводит игру на следующий этап. Да, Я согласен что это можно было сделать с циклами. Но мне захотелось попытаться при несовсем правильных инструкциях сделать нормально читаемый код.
0
|
|
|
41 / 41 / 11
Регистрация: 02.04.2016
Сообщений: 313
|
|||||||
| 17.08.2018, 01:08 | |||||||
|
kcalbCube, мой вариант. Надеюсь, что-то новое найдёшь для себя.
Кликните здесь для просмотра всего текста
Такое ощущение, что goto использовалось примерно с такими мыслями:
Знать примеры входных данных. Всегда помнить, что нужно проверять внешнюю информацию. Имена переменных должны максимально быть приближены к цели их создания и к месту их применения. Зачем применять всюду универсальную инициализацию, если это не библиотечный, не шаблонный и даже не код с классами и их сложным конструированием? Каждый этап алгоритма нужно стараться отделить от остальных этапов. Проверка ввода на вхождение введённого числа в установленный диапазон. Это можно обособить отдельно от непосредственно игры - зачем делать спагетти? Не по теме: Рис лучше Чем меньше вложенность конструкций - тем лучше. Может, слышал про 80 символов на строку? Меньше вложенность - больше поместится в эти 80 символов. Конечно, если делать отступы. Насколько я понял, суть игры - бинарный поиск числа. Зачем сразу ограничивать пользовательский ввод в диапазоне 0-100 без всяких пояснений? Если только это не часть плана. Привыкание к использованию exit() и goto может дорого аукнуться, когда будут работать несколько потоков, которые захватывают ресурсы системными блокировками, не считая спагеттификации. Постфиксный и префиксный инкременты - не одно и то же. Любой инструмент нужно использовать по назначению. Нет нужды использовать результат работы инструмента - зачем его использовать? Я привык использовать using только там, где без него не обойтись. Например, using namespace std::chrono_literals. Без этого невозможно будет создать объект длительности (12ms, скажем). Захламлять пространство имён - это чуть ли не худшая привычка, которая может развиться. Мы же всё-таки в плюсах - тут масса инструментов, чтобы избежать коллизий имён, в отличии от C. Поправьте, если я ошибаюсь. P.S. Интересно услышать комментарии и на мой вариант
1
|
|||||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 17.08.2018, 04:27 | ||
|
2) В 99% случаев можно обойтись без goto. Так что в этих самых 99% случаях использование goto - зашквар.
0
|
||
| 17.08.2018, 04:27 | |
|
Помогаю со студенческими работами здесь
7
Оцените игру-шутер Оцените написанную игру Оцените игру ShotGun Оцените консольную игру Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|