24FreelanceБиржа фриланса, которая не спит
Завершён

Реализовать виджет "Русская рулетка" на сайт в виде плагина Jquer

1 164 просмотра 2 отклика#3768
Статус проекта
Завершён
БюджетПо договорённости
ФорматРазовый проектбез предоплаты
ОплатаПо договорённости
Приём заявокЗавершёндо 05.12.2016
Откликов2в среднем по разделу: 1,0
Просмотров1 16477 за 14 дней

Описание проекта

Реализовать виджет "Русская рулетка" на сайт в виде плагина Jquery.
Пример:
Имеем в HTML коде
в JavaScript прописываем:
$('#roullet').createRoullet({key1: value1, key2: value2, key3: value3, ..., keyN, valueN})
в указанном div'e получаем требуемый нам виджет с описанными ниже свойствами.

Алгоритм работы (клиент):

1) имеется прямоугольный блок (размером не более 1000px) на котором изображен рулеточный стол в казино.
2) на столе имеется прямоугольная область (1) на котором выложены плиткой красные и белые прямоугольники(в произвольном порядке).
также вместо красного или белого прямоугольника может быть фотография пользователя, который сделал ставку на данную позицию.
3) На одну позицию может сделать ставку только один пользователей.
4) Сделать ставку пользователь может кликнув на кнопку (2) (после нажатия на эту кнопку рулетка должна принать вид (5)) и нажав на желаемую СВОБОДНУЮ позицию
5) Изображение рулетки (4) непрерывно вращается против часовой стрелки (или по часовой)
6) Счетчик (3) показывает время, оставшееся до розыгрыша (дни, часы, минуты, секунды) (розыгрыш происходит на сервере и сервер отдает id победителя)
7) Во время розыгрыша рулетка (4) Ускоренно вращается несколько секунт в обратную сторону, затем замирает и вместо позиций должно появиться изображение аватарки победителя и надпись: победил пользователь %username%
или же (в случае победы текущего пользователя) "Вы победили и выиграли %сумма% %валюта%".
8) После розыгрыша виджет ждет от сервера начала следующего розыгрыша. Как только начался следующий розыгрыш рулетка(4) снова медленно вращается.
9) Обычное положение виджета показано на рисунке 001.jpg, а при нажатии на кнопку (0) виджет плавно выдвигается и показывается полностью. По центру окна браузера
10) Если пользователь пытается поставить на занятую позицию - ему должно выдаваться сообщение о том, что на данную позицию уже сделана ставка.
11) Если у пользователя недостаточно средств на счету - ему должно выдаваться сообщение об этом
Входные данные реализуемой функции:
{
Периодичность ajax запросов: value1, //(в секундах или миллисекундах - неважно)
Скорость вращения рулетки в обычном режиме: value2,
Скорость вращения рулетки во время розыгрыша: value3,
Направление вращения рулетки в обычном режиме: value4, // (0 - против часовой, 1 - по часовой)
Длительность вращения рулетки во время розыгрыша: value5
..................................: ......................
Размеры и положение элементов управления: .....................
Другие данные которые сочтет необходимым учитывать разработчик
}

Алгоритм работы (сервер):

1) По запросу клиента отправляет текущее состояние рулетки(id пользователей на позициях, время до розыгрыша и т.д)
2) При попытке сделать ставку должен проверить не занята ли позиция и баланс пользователя(в БД). В случае удачи списывает со счета пользователя ставку игры (ставка фиксированная и одинакова для всех)
3) Если подошло время розыгрыша - то генерирует случайное число от 1 - 36 и сохраняет в кэше (memcached) id победителя, который поставил на сгенерированный номер. Отправляет всем клиентам id победителя.
4) id победителя висит в кэше до следующего розыгрыша.
5) текущее состояние рулетки хранится в memcached
6) время до розыгрыша, пауза между розыгрышами, берутся из конфига.
7) во время паузы между розыгрышами никто не может сделать ставку. Все видят только предыдущего победителя

Обмен данными между клиентом и сервером AJAX запросами
На усмотрение разработчика сервер может возвращать как объект JSON так и уже готовый HTML
Структура базы данных прилагается.
Id сессии пользователя хранится в cookies. А на стороне сервера в memcached (Стандартный механизм сессий PHP не используется)
24
Твенти · совет

Как написать отклик, который выберут

  • Начните с задачи заказчика, а не с рассказа о себе.
  • Дайте одну-две похожие работы из портфолио.
  • Назовите цену и срок — и что именно в них входит.
  • Задайте один уточняющий вопрос — он начинает диалог.

Отклики 2

Тексты откликов видит только заказчик.

Тот же раздел

Похожие проекты

Все проекты раздела
Сайт строительной компании с портфолио и заявкой на расчёт

Сайт строительной компании с портфолио и заявкой на расчёт

Нужен корпоративный сайт строительной фирмы: портфолио объектов, услуги, этапы работ, форма заявки на расчёт стоимости.

Разработка для WEB24.09.20260209
0откликов
Сайт для частной школы

Сайт для частной школы

Разработка сайта частной школы: приём заявлений, классы и программы, расписание, педагоги и новости.

Разработка для WEB24.09.20260205
0откликов
Полезно знать
Как откликнуться на этот проект?

Войдите как фрилансер, опишите, как решите задачу, укажите цену и срок. Заказчик читает отклики и начинает диалог с лучшими.

Кто видит мой отклик?

Только заказчик, разместивший проект, и вы. Другие фрилансеры не видят ни текст, ни цену.

Где найти похожие заказы?

Новые проекты в разделе «Разработка для WEB» появляются каждый день. Все проекты раздела

ЗАКАЗЧИКАМ · БЕЗОПАСНАЯ СДЕЛКА

Нужен похожий проект? Разместите задание бесплатно за 30 секунд

Получите предложения от проверенных фрилансеров и оплачивайте результат только после приёмки через Безопасную сделку.

Разместить задание бесплатно →Как работает защита
ИСПОЛНИТЕЛЯМ · PAYORA 1-CLICK

Закрепите анкету в ТОП категории за $5 / неделю

Поднимите свой профиль и портфолио на 1-е место каталога (оплата в 1 клик через Payora) и получайте до 5× больше прямых заказов.

Закрепить в ТОП ($5/нед)Пополнить через Payora