Немного проблем с социальной игрой - PullRequest
0 голосов
/ 01 ноября 2011

Я разрабатываю одну социальную игру, похожую на игру друзей на продажу.

В игре пользователь покупает и продает друзей.
Покупатель становится владельцем этого пользователя.

Я разработал логику, и она прекрасно работает в соответствии с расчетами.

Но когда у нас много пользователей, возникает проблема с этим действием кнопки покупки.

Например, 5 пользователей находятся в одном профиле, т.е. UserXYZ.Теперь 2 из них нажимают кнопку «Купить» одновременно, в одну и ту же секунду.

Сумма денежных средств теряется с обоих счетов, но только один становится владельцем.

Я хочу остановить эти деньгипроблема потери.

Эта проблема возникает из-за того, что скрипт выполняется одновременно для обоих пользователей, но только один из них становится владельцем.

Я понятия не имею, как остановить это по кликам перепродажи.Сайт на PHP / MySQL.

Любая помощь будет по достоинству оценена.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2011

Вместо того чтобы вычитать деньги из внешнего интерфейса, вычтите деньги из внутреннего интерфейса после , когда пользователь был успешно добавлен к этому владельцу.Таким образом, вы избежите проблемы.Убедитесь, что вы передали идентификатор владельца идентификатору сервера, что вы уже должны делать.

0 голосов
/ 01 ноября 2011

не видя ни одного вашего кода, я не могу дать кодовый ответ, но теоретически я бы исправил это так:

  1. при отправке запроса ajax "купить друга", отправьте вместе с ним идентификатор текущего владельца.
  2. В вашем php проверьте, есть ли у друга, который приобретается, тот же владелец, если он есть, сделайте продажу, если нет, ответьте на дружеское сообщение, говорящее "извините, кто-то другой купил их "
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...