Доброго времени суток уважаемые пользователи! Меня зовут Артем и я активно увлекаюсь WEB-Программированием (да, я знаю, что более корректный термин будет WEB-разработка, но не обижайтесь за это) и у меня есть вполне себе амбициозная цель - написать не особо сложную браузерную игрушку, сугубо для узкого круга друзей и в целях самообучения. Это достаточно сложная для меня задача и у меня есть к вам необычный вопрос. В игре планируется система достижений (как в World of Warcraft и.т.д) и вопрос заключается в следующем, как реализовать проверку выполнения условий для получения того или иного достижения. То есть предположим у нас есть 2 независимые таблицы. В одной статистика игроков со столбцом "победы", во второй само достижение "Одержать N побед". Я вижу логику так, при добавлении данных о результате матча, проводить проверку и при соблюдении всех условий, делать в БД запись о получении определенным игроком достижения. Собственно подскажите пожалуйста... 1. Как в столбце одной таблицы указать, что нужно сделать какие-то определенные действия, если значение в другой таблице в определенном столбце стало равно, например, 10. (т.е указать требование, при котором это достижение может быть получено для каждого игрока индивидуально) 2. Как лучше это реализовывать, силами PHP или процедурами в MySQL (не особо силен в процедурах, поэтому не знаю пока что их истинные возможности) Помогите разобраться именно с логикой, чтобы я мог составить алгоритм действий. Спасибо всем, кто согласится помочь, с уважением...
Re: Реализация системы игр. достижений, какова логика процес он не более корректный. Он более пальцастый. Более пафосный только web-development =) выбрать, посчитать, если набралось - дать достижение. Я б на пхп делал.
Re: Реализация системы игр. достижений, какова логика процес В проекте вашего типа не ставьте вопрос о том как и в какую структуру писать данные. Увидьте для начала где и как ваши данные будут применяться (например выводится в приложении и участвовать в вычислениях конкретных сущностей). И уже исходя из этого принимайте обоснованное решение о типе структур и способах добавления данных. Не забивайте себя в тупик поиском ответов на задачи в которых пока больше неизвестных чем известных значений.
Re: Реализация системы игр. достижений, какова логика процес У меня кстати такое часто происходит. И потом затык на неделю обеспечен((
Re: Реализация системы игр. достижений, какова логика процес это с опытом приходит как делать просто. Сложно делать - легко. А просто делать - сложно.
Re: Реализация системы игр. достижений, какова логика процес Вы абсолютно правы) Мне кажется что в целом эту задачу я в состоянии решить, но хочется сделать изящно и наиболее компактно. Если абстрагироваться от конкретной задачи, реально ли на SQL сделав зависимости таблиц множество-множество или от одной к множеству, чтобы в определенной ячейке выполнялась проверка значений в другой таблице. В процедуре или с использованием функций, или будет-ли в этой ячейке храниться "формула" (или просто значение, которое прогонять через Swith), по которой все таки прийдется на PHP выполнять проверку.
Re: Реализация системы игр. достижений, какова логика процес можно конечно и в мускуле =) ты делай, не понравится - переделаешь, максимум два-три дня потеряешь.
Re: Реализация системы игр. достижений, какова логика процес Подскажите пожалуйста еще такой момент... Где лучше хранить все SQL запросы(бибилиотека), в файле .sql или в файле .php? Т.е храня их в php я просто подключаю эту библиотеку в нужном файле и спокойно к ним обращаюсь. Хранить в sql наверное будет логичнее, но как тогда вытаскивать их для использования в php файле? Или вообще зранить каждый запрос в отдельных .sql файлах. Но на огромных проектах будут сотни файлов лежать
Re: Реализация системы игр. достижений, какова логика процес Когда у вас будет огромный проект, дойдете до MVC. Пока же стройте запросы хоть в контроллерах если хотите завершить проект. Либо, если задор не пропадёт и хочется сделать всё по уму, берите тот же Yii, изучайте документацию, и пишите проект на его основе. В этом случае вопросов в духе "где хранить запросы" уже не будет.