Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 16.06.2014, 00:44
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Ну да рандом не нужен. К моменту когда будут использованы последние айдишники - первые уже по любом должны освободиться.
getId = function(id){
    return function(){
        return (++id[0]).toString(36)
    }
}(new Uint16Array(0))
65536 значений))
__________________
29375, 35

Последний раз редактировалось Aetae, 16.06.2014 в 00:49.
Ответить с цитированием
  #22 (permalink)  
Старый 16.06.2014, 01:48
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Сообщение от Poznakomlus
php spl_object_hash
у меня node.js

Сообщение от l-liava-l
нафига какое то ограничение? закончилась сессия обнулил, и усе
а если сессия будет полчаса))

Aetae,
да, как вариант.


Но не хотел бы использовать какие-то лишние данные - это может в будущем создать проблемы! Значения 1679615, 65536, 9999 - делают код нелогичным, не хотелось бы так делать)
Ответить с цитированием
  #23 (permalink)  
Старый 16.06.2014, 01:54
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
а если сессия будет полчаса))
Тебе же понравилась дата)) там большие числа

60 * 60 = 3600 если одна пуля в секунду за час, соответсвенно 360000 если каждый из 100 человек выстрелит в секунду.... это много что ли?))
__________________
Научу себя плохому
Ответить с цитированием
  #24 (permalink)  
Старый 16.06.2014, 01:57
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

"65536 хватит на всех", ага.)
Ну можно впихнуть Uint32 - 4294967295 то точно хватит, только тут 4мя символами не ограничишься.)
Только вот подход с рандом не имеет ни малейшего преимущества перед подобными итераторами.
__________________
29375, 35

Последний раз редактировалось Aetae, 16.06.2014 в 02:01.
Ответить с цитированием
  #25 (permalink)  
Старый 16.06.2014, 10:02
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

С чем связано ограничение по длине id? Скорость доступа к id = a111 меньше, чем к id=a999938? На сколько?

Похоже на экономию на спичках. Видится мне, что тормоза в игре будут связаны с чем-то другим, но не с генерацией id или их длинной. Хотя мне не понятно зачем генерить id, если можно брать их из диапазона?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #26 (permalink)  
Старый 16.06.2014, 16:11
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Сообщение от Gozar
С чем связано ограничение по длине id? Скорость доступа к id = a111 меньше, чем к id=a999938? На сколько?
Это связано с весом данных, которые передаются по сети.
Думаю, максимальная длина id не должна превышать 3-х символов!

В base 36 3 символа дают 1679616 различный айдишников
Ответить с цитированием
  #27 (permalink)  
Старый 16.06.2014, 16:28
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
Это связано с весом данных, которые передаются по сети.
Думаю, максимальная длина id не должна превышать 3-х символов!
а юзать точно так же итерацию. например есть idшки:
999111
999112
999113
999114
999115

Возьми допустим из этого большого числа 9991 и отправь на сервер как префикс,
а потом мелкими пачками посылай
15 16 17 18 19... 99
потом отправляешь новый 9992 и заного
00 01 02 03 04 05
Все будет удобно упорядчено

Хотя я кажется упорот
__________________
Научу себя плохому

Последний раз редактировалось l-liava-l, 16.06.2014 в 16:30.
Ответить с цитированием
  #28 (permalink)  
Старый 16.06.2014, 17:11
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

l-liava-l,

зачем так усложнять? )

Гораздо проще:

999111 .toString(36) // 'lex3'
999112 .toString(36) // 'lex4'
999113 .toString(36) // 'lex5'
999114 .toString(36) // 'lex6'
Ответить с цитированием
  #29 (permalink)  
Старый 16.06.2014, 17:15
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Массив пуль, добавляем в конец, берем с конца. Никаких переборов, никакого поиска и рандомной генерации. Пули генерятся в начале боя в массив.

Скорость работы с концом массива не знаю. Стек
Увеличиваем стек, увеличивается количество игроков.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
число 23 (слишком короткий заголовок - сообщение форума на немецком хостинге) bes Общие вопросы Javascript 7 25.02.2014 21:38
Универсальный дескриптор ошибок Сергей1980 Общие вопросы Javascript 0 11.09.2013 17:27
Помогите в написать короткий скрипт для AdobeAcrobat XI. BSI Общие вопросы Javascript 1 13.08.2013 21:24
Универсальный GrayScale с плавной работой (затухание и проявление), принцип работы? master_alf jQuery 40 26.02.2013 11:54
Универсальный обработчик тега «спойлер» (на mootools) Serg_pnz Ваши сайты и скрипты 0 13.10.2009 10:07