Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.06.2012, 15:38
vizgl вне форума Посмотреть профиль Отправить личное сообщение для vizgl Найти все сообщения от vizgl
  № 1  
Ответить с цитированием
vizgl
 
Аватар для vizgl

Регистрация: Jun 2012
Сообщений: 70
По умолчанию Топ игроков

Наконец-то руки дошли до апи контакта.
Делаю простенькую игрушку и хочу организовать топ-100 игроков(как делают во многих приложениях).
Но я не пойму, обязательно для этого нужен свой сервер или все можно сделать на клиенте?

Старый 18.06.2012, 09:08
ЗлОй ПрОграММер вне форума Посмотреть профиль Отправить личное сообщение для ЗлОй ПрОграММер Найти все сообщения от ЗлОй ПрОграММер
  № 2  
Ответить с цитированием
ЗлОй ПрОграММер

Регистрация: Nov 2010
Сообщений: 434
Устаревшие методы
getHighScores – возвращает таблицу рекордов.
setUserScore – записывает результат текущего пользователя в таблицу рекордов.

либо можно выделить 100 переменных из глобальных и в них записывать
http://vk.com/developers.php?oid=-1&...BA%D1%82%D0%B5

Старый 18.06.2012, 14:42
vizgl вне форума Посмотреть профиль Отправить личное сообщение для vizgl Найти все сообщения от vizgl
  № 3  
Ответить с цитированием
vizgl
 
Аватар для vizgl

Регистрация: Jun 2012
Сообщений: 70
Цитата:
Сообщение от ЗлОй ПрОграММер Посмотреть сообщение
Устаревшие методы
getHighScores – возвращает таблицу рекордов.
setUserScore – записывает результат текущего пользователя в таблицу рекордов.
Вроде и смотрел на эти методы, но что-то упустил и думал, что они для другой цели. Сейчас посмотрел, вроде оно. Но сюда никак не прикрутить отдельный список "топ друзей"

Цитата:
Сообщение от ЗлОй ПрОграММер Посмотреть сообщение
Устаревшие методы
либо можно выделить 100 переменных из глобальных и в них записывать
В таком случае другие пользователи без проблем могут изменять чужие результаты, можно и вообще очистить их. Еще сложность тут заключается в перестройке таблицы. Например если таблица заполнена 100 результатами, а тут приходит новый результат кандидат на первое место, то необходимо:
1) найти позицию куда записать новую запись(в данном случае 1-я позция)
2) сдвинуть все остальные записи

А это куча запросов к серверу, если растянуть во времени 3 запроса в секунду, то это очень долго. А еще, куда-то нужно запихнуть очки друзей.

В общем, уже сделал хранение очков на своем сервере. Хранятся все игроки, таким образом можно получить и топ-100 и для каждого друга его позицию в топе друзей.

Старый 18.06.2012, 17:39
ЗлОй ПрОграММер вне форума Посмотреть профиль Отправить личное сообщение для ЗлОй ПрОграММер Найти все сообщения от ЗлОй ПрОграММер
  № 4  
Ответить с цитированием
ЗлОй ПрОграММер

Регистрация: Nov 2010
Сообщений: 434
Насчёт "топ друзей" можно просто считывать значение их результатов и выводить, а те методы что я вам написал это для глобальной таблицы рекордов

Цитата:
В таком случае другие пользователи без проблем могут изменять чужие результаты, можно и вообще очистить их. Еще сложность тут заключается в перестройке таблицы. Например если таблица заполнена 100 результатами, а тут приходит новый результат кандидат на первое место, то необходимо:
1) найти позицию куда записать новую запись(в данном случае 1-я позция)
2) сдвинуть все остальные записи
1) Считать 100 записей можно попробовать одним запросом.
2) Необязательно сдвигать все записи, просто в топе найти самый худший результат и перезаписать его. А когда очередной пользователь будет считывать топ игроков просто нужно их получить, отсортировать и показать.


Последний раз редактировалось ЗлОй ПрОграММер; 18.06.2012 в 17:41.
Создать новую тему Ответ Часовой пояс GMT +4, время: 22:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:53.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.