Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определить победителя 
:(
    Опции темы
nepster
Дата 20.1.2014, 04:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 26.4.2009

Репутация: нет
Всего: нет



Итак, если игра на node.js после окончания игры нода делает запрос к php сценарию, который должен определить победителя и сделать соответствующие записи в базе. 



Наш массив:
Код
[users] => Array
        (
            [0] => Array
                (
                    [hash] => de2983f989ccf1ea09d1e29a0465fb51
                    [earn] => 32
                )

            [1] => Array
                (
                    [hash] => ef21eb9ea4b5dc9f359024198bf40742
                    [earn] => 23
                )

            [2] => Array
                (
                    [hash] => fff294012895b487157efd570232f0fc
                    [earn] => 22
                )

            [3] => Array
                (
                    [hash] => 3bf51dd7bb302ccf81e335879b97bc5b
                    [earn] => 12
                )

        )


[hash]   - идентификатор пользователя 
[earn]   - достижения в игре, например игровые очки 


Задача определить победителей, начислить рейтинг, записать логи в базу (плюсануть счетчик сыгранных игр, сделать запись о победной или проигранной игре и тп. ) 

Теперь мне нужно этот массив проверить следующим образом:
     - если все 4 пользователя набрали одинаковое кол-во очков: выдать все по 25% рейтинга 
     
    если если флаг к примеру $a = true
    - первые 2 места получают рейтинг (1 место 70%, второе место 30%)
    - если на первом и втором месте ничья, распределить рейтинг 50 на 50
    - если 2 и 3 место набрали одинаковое кол-во очков, распределить 30% рейтинга по 15 каждому 
    - если 2 и 3 и 4 место набрали одинаковое кол-во очков, распределить 30% рейтинга по 10 каждому 
 
     
    если если флаг к примеру $a = false
    - рейтинг получает первое место 
    - если 1 и 2 место ничья, рейтинг делим 50 на 50 
    - если 1 и 2 и 3 место ничья, рейтинг делим по 33%


Собственно начал делать это дело и попал в бездну конструкций if else, копал в сторону паттерна стратегии, но как оказалось он не подходит в данной ситуации, подскажите пожалуйста как оптимально реализовать это все дело? 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0477 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.