Решить проблему на php и sql , поменять скрипты игры ( construct 3 )

5 000 руб. за проект
16 февраля 2021, 12:30 • 1 отклик • 56 просмотров
Сайт : http://fifty-coins.ru/
Написан на php фреймворк yii , стоит на хостинге.
Тестовый аккаунт:
Логин: 2223333312
Пароль: 2223333312

Тех. Задание:

1. Решение проблем с базой данных и php.
На сайте есть игра , где пользователи заходят в комнату нажимают играть и после того как 3 человека сыграли проводятся итоги игры и распределяются призы. Но есть один баг . Когда пользователь заходит на комнату в базе создается пустое место в строке game , это сделано для того чтобы когда пользователь зайдет в комнату мог поиграть в демо и у него считывалось кол-во попыток в демо игре. Так же если этот пользователь сыграет в игру саму уже ( не демо ) то его должно засчитывать как участник 1 и его результаты ( время ) . А когда другой игрок заходит в комнату он должен видеть что вот участник 1 собрал все монеты за такое то время и он например тоже сыграет и его засчитает за участник 2 ( у него тоже будет 3 попыток демо игры ) и когда 3 игрок зайдет и сыграет он должен быть под участником 3 и после его игры проводятся итоги в которых тот кто быстрее всех прошел игру по времени забирает 1 место , остальное 2 место и проигрыш 3 место .
Теперь про сам баг : Когда игрок заходит в комнату и играет , то если след игрок зайдет в ту же комнату он не видит что там сыграл тот человек т.е для нового уже создается новая комната . Т.е баг в том что не видно другим то что этот пользователь тут играл вообще и другие люди не смогут подключиться к нему т.е сыграть в этой комнате с ним так как для них уже комната новая а тот который играл первым он уже никак не может стать победителем там и т.д так как другие участники просто не могут к нему зайти.
Это я решил тем что отчистил таблицу с играми и все норм было несколько игр но потом опять это началось , сейчас вообще не засчитало 1 игрока начала считывать снизу т.е 2 игрока сыграло а 1 игрока нету вообще и у них никак итоги не будут пока все 3 не сыграют а чтобы 3й игрок зашел нужно чтобы у других видно было что тут в комнате играли но из-за бага если другой зайдет в эту комнату то там пусто т.е игроков нету хотя они есть.
Тут в системе есть такая функция что если 3 игрока сыграли комната уже для других будет пустым чтобы след 3 игрока могли сыграть там а прошлым игрокам уже призы распределены и они могут так же заново зайти на эту комнату и сыграть уже против других . Но из-за бага тут можно сказать у каждого игрока создается своя комната в базе и из-за этого другие не могут играть с ним так как для них тоже уже будет новая комната.
Задача привести это всё в порядок .
Чтобы вы поняли о чем идёт речь - зарегистрируйте новый аккаунт под левые данные и нажмите пополнить баланс там будет фри касса тестовый режим включен ( т.е для теста просто пополните баланс бесплатно ) и сыграйте в комнатах потом опять новый акк и с него зайдите на ту же комнату и увидите что того игрока уже нету для вас а у него показывать будет что он участник 1 .

Дополнение : я же писал что когда польз заходит в комнату создается в бд пустое место так вот если польз зайдет в комнату и выйдет его уже будет считывать как за 1 место в участниках но не будет показывать потому что он не сыграл в игру , а если второй зайдет и сыграет то его ставит за участника 2 а третий зайдет его участником 3 уже а первый участник пустым будет а потом если новый чел зайдет в комнату у него будет новая комната этих участников не будет потому что там мест нету .тот первый польз не сыграл но занял место получается и пока он не сыграет итогов не будет вообще
Это заметил только что и думаю в этом и есть проблема .

2. Заменить игру созданную на construct 3 на сайте .

Игра сделана в конструкторе , но фрилансер который это делал , сделал его для версий пк т.е можно только играть с клавой . Я переделал игру , добавил кнопки на экран чтобы можно было с моб версии играть на сайте но! НО если поменять файлы игры на те которые я менял система сломается а именно:
как говорит фрилансер тот который делал на игре спец код написан чтобы она считывала время , участников списание баланса и прибавление и т.д
Т.е если я поменяю файлы на те которые я изменил то система отделиться с игрой . У игрока не будет списываться баланс , не будет считывать время за которое он прошел игру , не будет его записывать в базу .
Задача : нужно поменять мою игру которую я переделал на сайте но чтобы всё работало как раньше.
Работающий вариант игры стоит на скрипте на хостинге , тот вариант который нужно поменять я скину в облоко.

Файлы