Комментарии 27
Хотелось бы понять для чего? Для того чтобы научиться С++ програмированию, возможно.
Пока С++ не видно в коде, а видно C:
mysql_free_result(result);
Не видно ни одного RAII из С++.
По-этому он и сказал что это только начало, по этому он просит, чтобы ему докинули пару идей... По говорили на эту тему, а он уже сам будет переваривать всю эту информацию. И до делывать этот гайд.
Сам делал такое на java, но забросил. Сильно много хотел. Этот как hello word на игровом.
Прекрасная цель, вот только вместо создания игры вы рассказали как подключиться mysql. Да и то, код написанный в таком стиле это просто гнездо багов. Куча вложенных условий, да с циклами внутри... ну да ну да, удачной отладки.
Если вы и правда хотите написать игру не думайте о базах данных. На первые полгода хватит и текстового файла ( ну или уж json на худой конец). Сохранять данные, а зачем? Напишите вначале хоть какой-то движок, убедитесь что оно работает и тогда занимайтесь уже этой скучной работы вроде базы данных или там передачи данных по сети.
А то пока подключите бд, потом настроите сохранение статуса игры, потом игру по сети, потом составление игровых команд, потом портирование под разные ОС, потом портирование под мобилки... а игру делать еще и не начинали.
Лучше уж сразу написать тупое простое ядро, с возможностью делать 2-3 действия, протестировать как оно себя ведет... и только когда поймете что заниматься игрой все еще хочется но из текстовых файлов ( или памяти) уже выросли тогда думать про базы, сети и все такое.
С вами не спорю, но поясню: MySQL - моя прихоть, на данный момент я не вижу большой разницы в сложности работы с ней и с текстовым файлом. На счёт вложенных циклов, я лишь пожму плечами, сказав, что это тестер(квинтэссенция примеров из документации), он не обязан быть красивым. И да на Админке я планирую создавать объекты, а на мировом сервере писать скрипты, они будут развиваться параллельно, но я благодарен за предупреждение, постараюсь не затягивать с самой игрой.
да про прихоть понимаю. Кстати с текстовым файлом я наверное тоже погорячился, но вот Sqlite думаю подошел бы идеально под задачу. Благо его можно добавить в проект просто как как еще один сишный файл и сразу же получить все преимущества базы данных без всякой мороки с настройкой базы или коннектора к ней.
Я без претензий, только спросить, а почему бы не взять тот же Circle MUD и не разобраться в нём? Стоя на плечах титанов и своё запилить намного легче...
Я не так давно искал движки MUD на C++, и ничего внятного не нашёл. Есть что-то на примете?
MUD
Я думаю, впервую очередь потому, что автор до сих пор не знал про такую аббревиатуру ;-)
А если серьёзно, то принцип "изучить по готовым исходникам" подходит, увы, не для всех... Большинство обычных людей может изучать только от простого к сложному, а не наоборот.
С одной стороны, fight.c, несмотря на размер, в принципе довольно понятен, даже человеку, который никогда на С не писал. С другой - для того чтобы "разобраться, как работает", он всё-таки сложноват, покрывая всякие исключения типа запрет повреждений чайханщику. Не говоря уже о том, что это только небольшая часть кода. В больших проектах обилие частностей очень сильно загораживают основные принципы. И нужно иметь очень серьезные когнитивные способности, на уровне хакеров предыдущих поколений, чтобы во всем этом разобраться.
Вообще не знал о существовании этой игры, но идея покопаться в исходниках хорошая.
Немного пугает код int main()
Два if/else, внутри одного из которых еще while, с if/else, внутри while...
Мне кажется на ревью такой код захотелось бы поделить на отдельные методы, уже сейчас крайне тяжело понять в какую из веток мы зайдем если выдадим какое то условие. Легко понять насколько высока сложность метода - попробуйте написать unit тест на нее без единого if
Также обязательно посмотрите на свое форматирование ошибок - оно плавает и в нем уже есть текстовые ошибки
Что вы имеете ввиду под текстовой ММОРПГ? Можно поподробнее, очень интересно!
Плюсую последнего комментатора. Интересно, что вообще стоит за этими общими тезисами вроде "ММОРПГ". Какие вы видите в этом контексте текстовые механики игры? Статья, конечно, не объемная, однако написана она легко и понятно - это подкупает.
Слушай а задумка хорошая
А я, видимо, буду не к месту, если в теме про ТЕКСТОВУЮ игру спрошу о такой мелочи, как сюжет?
Расскажите, только честно, почему для этого проекта вы выбрали плюсы, а не например Java? Почему вы в целом любите c/c++?
Странно конечно ставить БД во главу угла, а игра-то где?
Я хочу начать изучать C++, так что... мне интересна данная авантюрка.
Даже если ничего не пойму, то будет интересно посмотреть на Ваши страдания, Господин:}
Уже несколько лет мечтаю сделать что то похожее. Даже немного пробовал, правда немного другое - написал бота для браузерной игры barbars.ru причем на совершенно чистом c++.
Так что если есть желание, мы можем вместе поработать
Решил я тут текстовую MMORPG на C++ написать