MasterGod, повторюсь еще раз: реализация логики игрового движка НИЧЕМ принципиально не отличается от реализации логики в любой другой программе. Хоть в калькуляторе, хоть в прошивке спутника, хоть в центре управления АЭС. Везде принципы одни и те же. Вам нет смысла искать литературу конкретно по реализации механики РПГ или ещё какой игры - там будет ровно то же самое, что в любой книге по алгоритмам. Если вы не знаете как реализовать требуемую вам логику - ваша проблема не в том, что вы не знаете как это реализовать, а в том, что вы не можете поставить задачу и сформулировать алгоритм. А это основы. Грубо говоря, написание кода - это перевод с человеческого языка на строгий язык логики. При этом само написание кода - это лишь процентов 20-25% затрат времени и усилий, а всё остальное - это исследования, проектирование, тестирование, отладка, написание документации и всё такое прочее. Примеры кода в вашем случае вам никак и ничем не помогут. Вам надо начинать с простых вещей и развиваться вверх.
Вот вам примеры: Какие хорошие opensource-игры вы можете посоветовать?
Wexagon, в таком случае вам следует сделать отладку. Кроме того, в приведённом коде нету какого-либо логирования значения в конструкции ветвления и при этом внутри вы повторно вызываете функции и логируете результат. А во время повторного вызова там может быть другое значение. Правильнее проверять конкретное значение в конкретный момент времени:
Wexagon, т.е., вы запустили отладку вашего кода, прошли по шагам каждую функцию, посмотрели значение каждой переменной на каждом шаге, получили описанный вами результат и определили, что виноват оператор? Верно?