Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№102-12-2008 01:13:33

Лаэда
aka IceFlame
 
Группа: Members
Откуда: Москва
Зарегистрирован: 13-09-2006
Сообщений: 272
UA: Firefox 3.0
Веб-сайт

Нужна помощь гуру JavaScript

Помню когда - то мне тоже требовалась помощь ява гуру, и тут мне очень сильно помогли. Надеюсь и в этот раз помогут :-)
Есть JavaScript _http://falloff.ru/calc.html по расчету умений в одной онлайн игре. Я не являюсь автором и вообще некоим боком не отношусь к нему. Но мне очень бы хотелось что там появилась возможность сохранять и загружать результаты путем вставки к примеру какого нить кода. Т.е. я выставил нужные мне значения, получил код, отправил другу этот код, он зашел на сайт, ввел код и увидел те значения которые собирал я.

It is possible?


F.I.R.E.F.O.X.: Fine Ideal Romeo Exchanging Fantastic Orgasms and Xperiences

Отсутствует

 

№207-12-2008 21:29:22

DemonSat
Ищу рекламу))
 
Группа: Members
Откуда: Спереподкувыпедвертландия
Зарегистрирован: 14-09-2008
Сообщений: 726
UA: Firefox 3.0
Веб-сайт

Re: Нужна помощь гуру JavaScript

Лаэда
Т.е. хотите сохранять данные на сервере с помощью ЯваСкрипта?
Если узнаете как это сделать, дайте знать))


Лучшие подписки AdBlock для рунета: Анти-реклама Анти-порно
Сообщить об ошибке

Отсутствует

 

№309-12-2008 13:59:53

Лаэда
aka IceFlame
 
Группа: Members
Откуда: Москва
Зарегистрирован: 13-09-2006
Сообщений: 272
UA: K-meleon 1.5
Веб-сайт

Re: Нужна помощь гуру JavaScript

DemonSat
Ну зачем смеяться над незнающим. :P
Я представлял себе это так:
К каждому навыку добавляеться уникальный id. + id каждой расы. Тогда бы наверное можно было бы сделать некий код который представлял бы собой список цифр такого формата:
[id расы][id навыка1][уровень навыка1][id навыка2][уровень навыка2]...[id навыкаN][уровень навыкаN] и вызывать с помощью него список навыков. Или там сохраняемый набор куков...


F.I.R.E.F.O.X.: Fine Ideal Romeo Exchanging Fantastic Orgasms and Xperiences

Отсутствует

 

№409-12-2008 18:55:42

Lain_13
Забанен
 
Группа: Members
Откуда: Волшебная Страна
Зарегистрирован: 26-04-2006
Сообщений: 10320
UA: Minefield 3.2

Re: Нужна помощь гуру JavaScript

Обычно это делают при помощи URL. Вон, посмотрите на официальный и некоторые неофициальные калькуляторы талантов для WoW. Всё очень просто. Набираешь нужные значения и потом можешь скопировать сформированный URL с кодом. При переходе по такому URL этот код парсится и на основании распарсенных данных заполняются поля на экране. Можно и сам код передавать отдельно, без URL, но тогда нужно поле, в котором он будет генерироваться сделать редактируемым, что бы получивший этот код мог его туда вставить. Но, всё же, перейти по ссылке с кодом проще.

Теперь о том, как формировать код. Тут много разных методов. Например, близзардовцы поступили очень просто. Так как данные представляют собой цифры от 0 до 5, то достаточно передать код класса и цепочку цифр вроде 1214350140534000030400050100. Для каждого класса определён порядок талантов, в согласии с этим порядком строка разбивается на отдельные цифры и эти значения присваиваются соответствующим талантам. Собственно это всё. На сколько я вижу в данном случае талантов довольно много, поэтому имеет смысл применить сжатие. Как я вижу все таланты кодируются числами от 0 до 7, т.е. одним байтом. Теперь посмотрим, что нам свободно доступно для кодирования -- это числа от 0 до 9 и 26 букв от a до z, причём с учётом регистра есть ещё 26 от A до Z. Т.е. в одном знакоместе мы можем хранить число от 0 до 61. Если добавить ещё, например, "-" и "_", то получим 64 возможных символа. Это у нас 2 в 6й степени (6 байт), что позволит нам кодировать по два таланта каждым символом, так как на число от 0 до 7 требуется не более трёх байт. Т.е. если у нас символы идут в последовательности "0..9a..zA..Z-_", то два таланта уровня 5 и 7 будут кодироваться так: 5 = 101 (двоичное число), 7 = 111 (тоже двоичное число), запишем их вместе (111101) и переведём в десятичное число (1 *32 + 1 *16 + 1 *8 + 1 *4 + 0 *2 + 1 *1 = 61). Получившееся число является номером символа в массиве "0..9a..zA..Z-_", это символ Z. Надеюсь как раскодировать объяснять не нужно. Нужно установить чёткий порядок следования талантов и обрабатывать их парами. Получившуюся строку символов приписываем к имени страницы как параметр и вперёд.
Но никто не заставляет применять сжатие. Можно не сжимать вовсе, просто URL получится в два раза длиннее.

Отредактировано Lain_13 (09-12-2008 18:58:26)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]