Помню когда - то мне тоже требовалась помощь ява гуру, и тут мне очень сильно помогли. Надеюсь и в этот раз помогут :-)
Есть JavaScript _http://falloff.ru/calc.html по расчету умений в одной онлайн игре. Я не являюсь автором и вообще некоим боком не отношусь к нему. Но мне очень бы хотелось что там появилась возможность сохранять и загружать результаты путем вставки к примеру какого нить кода. Т.е. я выставил нужные мне значения, получил код, отправил другу этот код, он зашел на сайт, ввел код и увидел те значения которые собирал я.
It is possible?
F.I.R.E.F.O.X.: Fine Ideal Romeo Exchanging Fantastic Orgasms and Xperiences
Отсутствует
Лаэда
Т.е. хотите сохранять данные на сервере с помощью ЯваСкрипта?
Если узнаете как это сделать, дайте знать))
Лучшие подписки AdBlock для рунета: Анти-реклама Анти-порно
Сообщить об ошибке
Отсутствует
DemonSat
Ну зачем смеяться над незнающим.
Я представлял себе это так:
К каждому навыку добавляеться уникальный 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
Отсутствует
Обычно это делают при помощи 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)
Отсутствует