Сейчас 13:39:17 Пятница, 26 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [ВАЖНО] Общалка кодеров (Обмен опытом | Обсуждение проблем)
[ВАЖНО] Общалка кодеров
Ty3uKДата: Пятница, 12 Апреля 2013, 18:45:10 | Сообщение # 126
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Ну линковка на /dev/urandom появилась еще до андроида, как бы.

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

BlackFoxiДата: Пятница, 12 Апреля 2013, 20:31:02 | Сообщение # 127
2 уровень
Группа: Пользователи
Сообщений: 23
Награды: 0
Репутация: 10
Блокировки:
Некоторые почему-то считают, что ближе к концу диапазона числа выпадают чаще. У меня они выпадают на глаз равномерно. Все с рандомом в порядке.
А Дуос не знает.
 

MalfattoДата: Суббота, 13 Апреля 2013, 03:19:21 | Сообщение # 128
Группа: Модераторы
Сообщений: 3806
Награды: 7
Репутация: 2425
Блокировки:
минус варовского рандома в том, что это выходит вовсе не рандом, а один и тот же набор чисел. не зависимо от того, сколько раз запустил карту или игру.
хотя я даун в джассе, могу быть не прав.
 

элитаДата: Суббота, 13 Апреля 2013, 06:32:03 | Сообщение # 129
1 уровень
Группа: Пользователи
Сообщений: 7
Награды: 0
Репутация: 0
Блокировки:
http://warcraft3ft.info/forum/22-20073-1002415-16-1283169344

Добавлено (13 Апреля 2013, 06:32:03)
---------------------------------------------
http://warcraft3ft.info/forum/22-22091-1057528-16-1289487898(сперто)

 

NaturekidДата: Суббота, 13 Апреля 2013, 11:02:50 | Сообщение # 130
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Цитата (Malfatto)
минус варовского рандома в том, что это выходит вовсе не рандом, а один и тот же набор чисел. не зависимо от того, сколько раз запустил карту или игру. хотя я даун в джассе, могу быть не прав.

Malfatto, лол, ты сейчас про проверку карты с галочкой "фиксированный случайный разброс" что ли?
Ну да при каждом запуске редактора с этим параметром - каждая проверка карты нарандомит одинаковый рез.


 

элитаДата: Суббота, 13 Апреля 2013, 11:17:50 | Сообщение # 131
1 уровень
Группа: Пользователи
Сообщений: 7
Награды: 0
Репутация: 0
Блокировки:
На XGM есть/был тест "JASS test advansed" с вопросом
Вопрос 11.
Известно, что рандомайзер в варкрафте несколько переглючен. В чем это заключается?
  • Игра вылетает при слишком частом пользовании рандомом(0 баллов)
  • Рандомайзер не работает для локальных переменных(0 баллов)
  • При тесте из редактора всегда берется одинаковый Random Seed (1 балл)
  • Рандомайзер выдает чаще всего числа ближе к концу периода (4 балла)
  • Рандомайзер выдает чаще всего числа ближе к началу периода(0 баллов)
  • Всегда при одинаковом рандоме выдает одинаковые числа(0 баллов)
  •  

    sumertДата: Суббота, 13 Апреля 2013, 13:22:58 | Сообщение # 132
    10 уровень
    Группа: Проверенные
    Сообщений: 2330
    Награды: 2
    Репутация: 1094
    Блокировки:
    Ну, генерировать случайные числа весьма сложно на самом деле. Если вас не устраивает генератор случайных чисел варкрафта, кто мешает написать собственную функцию генерации случайных чисел? Существуют очень много подобных алгоритмов, реализовать самые примитивные не составляет большого труда, но они будут работать похуже варкравтовского. А если нужен самый идеальный, придется сильно попотеть - очень сложные формулы.
    Ну, один из самых простых алгоритмов: берется простое число N (чем больше, тем лучше), Составляется массив из дробных чисел 1/N до (N-1)/N. Берется число, равное значению счетчика, который увеличивается каждые 0,04 секунды на 1 и достигнув значения N, обнуляется. Текущее значение счетчика есть индекс нашего массива. Получаем случайное число от 0 до 1. Если диапазон числа должен быть больше, то дополнительно умножаем данное число на нужный диапазон (При необходимости, отбрасываем дробную часть). Вот и весь алгоритм. Он немного примитивен, но, надеюсь, общий смысл составления случайных чисел вы поняли.
    Просто вся идея генерации случайных чисел состоит в том, что случайное число считается по ФИКСИРОВАННЫМ значениям.
     

    Ty3uKДата: Суббота, 13 Апреля 2013, 13:29:06 | Сообщение # 133
    Группа: Ветераны
    Сообщений: 6125
    Награды: 2
    Репутация: 1617
    Блокировки:
    sumert, и все это называется псевдослучайные числа

    ╭∩╮(︶︿︶)╭∩╮
    "Ульта Тайда мне в жопу!" © k0fe1n
    Статьи: MUI-1|MUI-2|Шрифт
    Полезности: JASP|JNGP|Уголок библиотек
     

    sumertДата: Суббота, 13 Апреля 2013, 13:48:23 | Сообщение # 134
    10 уровень
    Группа: Проверенные
    Сообщений: 2330
    Награды: 2
    Репутация: 1094
    Блокировки:
    Ty3uK, а разве на этом принципе и не построена генерация случайных чисел? Ведь если для этого использовать вероятность, то это это тоже случайное число, для которого мы и пишем функцию генерации случайных чисел.

    Добавлено (13 Апреля 2013, 13:48:23)
    ---------------------------------------------
    короче, не существует для компа алгоритма идеально-случайных чисел. Только псевдо-случайные. Ни в одной игре, ни в одном язые программирования, ни где-либо еще, никто никогда не смог и вряд ли сможет написать алгоритм идельной генерации случайных чисел. Но есть простые алгоритмы, которые слабо обеспечивают случайность чисел (в доте к примеру, довольно часто на ar может попасться одному и тому же игроку один и тот же герой, что на самом деле должно быть очень маловероятно), а есть сложные, которыми вполне можно удовлетворится. В данном случае могу посоветовать одно - ищите "золотую середину" между сложностью и результатом. В ряде случаев можно удовлетворится и вариковским генератором случайных чисел.

     

    Ty3uKДата: Суббота, 13 Апреля 2013, 13:49:21 | Сообщение # 135
    Группа: Ветераны
    Сообщений: 6125
    Награды: 2
    Репутация: 1617
    Блокировки:
    sumert, спасибо, я это знаю.

    ╭∩╮(︶︿︶)╭∩╮
    "Ульта Тайда мне в жопу!" © k0fe1n
    Статьи: MUI-1|MUI-2|Шрифт
    Полезности: JASP|JNGP|Уголок библиотек
     

    DuosoraДата: Воскресенье, 14 Апреля 2013, 15:35:05 | Сообщение # 136
    The cats never sleep...
    Группа: Ветераны
    Сообщений: 6734
    Награды: 10
    Репутация: 2161
    Блокировки:
    Цитата (элита)
    При тесте из редактора всегда берется одинаковый Random Seed

    Прав.


    Не зли других и сам не злись.
    Мы - гости в этом мире.
    И если что не так - смирись,
    Будь поумнее - улыбнись,
    Ведь в мире всё закономерно.
    Зло, излучённое тобой,
    К тебе вернётся непременно.
     

    NaturekidДата: Воскресенье, 14 Апреля 2013, 15:48:22 | Сообщение # 137
    Группа: Заблокированные
    Сообщений: 4982
    Награды: 3
    Репутация: 3347
    Блокировки:
    Цитата (Duosora)
    При тесте из редактора всегда берется одинаковый Random Seed Прав.

    и в чём же это выражается, господа умники?

    Добавлено (14 Апреля 2013, 15:48:22)
    ---------------------------------------------
    дуос зашёл в топан, но ответить не смог.
    ч и с о


     

    Ty3uKДата: Воскресенье, 14 Апреля 2013, 18:11:40 | Сообщение # 138
    Группа: Ветераны
    Сообщений: 6125
    Награды: 2
    Репутация: 1617
    Блокировки:
    А галку с фиксированного рандома снять?

    ╭∩╮(︶︿︶)╭∩╮
    "Ульта Тайда мне в жопу!" © k0fe1n
    Статьи: MUI-1|MUI-2|Шрифт
    Полезности: JASP|JNGP|Уголок библиотек
     

    NaturekidДата: Воскресенье, 14 Апреля 2013, 19:42:16 | Сообщение # 139
    Группа: Заблокированные
    Сообщений: 4982
    Награды: 3
    Репутация: 3347
    Блокировки:
    Цитата (Ty3uK)
    А галку с фиксированного рандома снять?

    вот я о чём
    Цитата (Naturekid)
    Malfatto, лол, ты сейчас про проверку карты с галочкой "фиксированный случайный разброс" что ли?


    Просто мало ли, вдруг там ещё какой-то там рандом неизменный ^_^ ^_^ ^_^ ^_^


     

    BlackFoxДата: Понедельник, 22 Апреля 2013, 02:24:04 | Сообщение # 140
    3 уровень
    Группа: Проверенные
    Сообщений: 52
    Награды: 0
    Репутация: 25
    Блокировки:
    Код

    function incZ takes integer i returns nothing
         set i =  i + 1
    endfunction
    //trig+
         call incZ(udg_X)
         call DisplayTextToForce( GetPlayersAll(), I2S(udg_X) )
    //trig-

    0/0/0/0/0/0/0
    Код
    function incZ takes integer i returns integer
         return  i + 1
    endfunction
    //trig+
         set udg_X =  incZ(udg_X)
         call DisplayTextToForce( GetPlayersAll(), I2S(udg_X) )
    //trig-

    1/2/3/4/5/6/7


    Интересно однако. Думаю, некоторые поняли, что я пытался проверить.


    SirNikolas падёт в неравном бою с брутфорсом, Alice.
     

    SirNikolasДата: Понедельник, 22 Апреля 2013, 12:21:21 | Сообщение # 141
    Группа: Модераторы
    Сообщений: 6729
    Награды: 1
    Репутация: 1867
    Блокировки:
    BlackFox, я думал, всем давно известно, что параметры в JASS передаются по значению.


     

    BlackFoxДата: Понедельник, 22 Апреля 2013, 13:55:53 | Сообщение # 142
    3 уровень
    Группа: Проверенные
    Сообщений: 52
    Награды: 0
    Репутация: 25
    Блокировки:
    Цитата (SirNikolas)
    я думал, всем давно известно, что параметры в JASS передаются по значению.

    Я другое тестировал.
    Вот если бы в Jass можно было так например
    Не получение значения от переменной от входящей, а управление над входящей.
    Код
    function incZ takes integer ^i returns nothing
          set i =  i + 1
    endfunction

    или так хм
    Код
    function incZ takes integer &i returns nothing
          set i =  i + 1
    endfunction

    Ну мысль в том, чтобы управляло переменной так как
    т.е. чтобы делало так:
    [call incZ ( udg_X )] = [set udg_X = udg_X + 1]
    Печаль, так было бы ещё интереснее :)


    SirNikolas падёт в неравном бою с брутфорсом, Alice.
     

    SirNikolasДата: Понедельник, 22 Апреля 2013, 17:27:04 | Сообщение # 143
    Группа: Модераторы
    Сообщений: 6729
    Награды: 1
    Репутация: 1867
    Блокировки:
    Цитата (BlackFox)
    Не получение значения от переменной от входящей, а управление над входящей.
    Т. е. передача по ссылке, а не по значению. Что я и сказал.
    Нечто подобное можно получить, передавая структуру (ценой потери в скорости, конечно).


     

    BlackFoxДата: Понедельник, 22 Апреля 2013, 19:23:54 | Сообщение # 144
    3 уровень
    Группа: Проверенные
    Сообщений: 52
    Награды: 0
    Репутация: 25
    Блокировки:
    SirNikolas, вот что самое интересно, а другими типами можно управлять как unit, texttag, timer и др. т.е. классами. Следовательно, чтобы можно было делать передачу по ссылке, нужно перезаписывать движ. вара.
    Цитата (SirNikolas)
    Нечто подобное можно получить, передавая структуру (ценой потери в скорости, конечно).

    Этот способ хорош, но про то, что вы сказали, истина. А вы всё таки очень толковый программист. В олимпиадах по программированию участвовали?
    У всего есть минусы, но в них нужно искать и свои плюсы.


    SirNikolas падёт в неравном бою с брутфорсом, Alice.
     

    Ty3uKДата: Понедельник, 22 Апреля 2013, 19:52:26 | Сообщение # 145
    Группа: Ветераны
    Сообщений: 6125
    Награды: 2
    Репутация: 1617
    Блокировки:
    В принципе можно реализовать это сторонним препроцессором.
    Код
    void Inc(ref int toInc) {
         toInc++;
    }

    void test() {
         int i = 1;
         Inc(i);
    }

    --------->
    Код
    void Inc(int toInc) {
         return toInc++;
    }

    void test() {
         int i = 1;
         i = Inc(i);
    }

    Но тут речь не об удобстве, как я понимаю.

    Добавлено (22 Апреля 2013, 19:52:26)
    ---------------------------------------------
    Так же имеется мысль, что ссылки недоступны по соображениям безопасности.


    ╭∩╮(︶︿︶)╭∩╮
    "Ульта Тайда мне в жопу!" © k0fe1n
    Статьи: MUI-1|MUI-2|Шрифт
    Полезности: JASP|JNGP|Уголок библиотек
     

    BlackFoxДата: Понедельник, 22 Апреля 2013, 20:14:25 | Сообщение # 146
    3 уровень
    Группа: Проверенные
    Сообщений: 52
    Награды: 0
    Репутация: 25
    Блокировки:
    Цитата (Ty3uK)
    Но тут речь не об удобстве, как я понимаю.

    Верно, чисто интерес.
    Цитата (Ty3uK)
    Так же имеется мысль, что ссылки недоступны по соображениям безопасности.

    Верно.
    На что способен чистый jass без "vJass" и "cJass"?
    Всё таки движ. варика интересная вещь, от которой хочется большего.


    SirNikolas падёт в неравном бою с брутфорсом, Alice.
     

    Ty3uKДата: Понедельник, 22 Апреля 2013, 20:17:17 | Сообщение # 147
    Группа: Ветераны
    Сообщений: 6125
    Награды: 2
    Репутация: 1617
    Блокировки:
    Да вообще хотелось бы исходный код опубликованный.
    Ведь, как минимум, это прямой путь к нативному порту для Linux. :)

    Добавлено (22 Апреля 2013, 20:17:17)
    ---------------------------------------------
    А еще имеется мысль, что при возможности сохранения данных в адрес есть возможность вызвать функцию из переменной. :)
    Однако, это лишь домыслы.


    ╭∩╮(︶︿︶)╭∩╮
    "Ульта Тайда мне в жопу!" © k0fe1n
    Статьи: MUI-1|MUI-2|Шрифт
    Полезности: JASP|JNGP|Уголок библиотек
     

    BlackFoxДата: Понедельник, 22 Апреля 2013, 20:37:53 | Сообщение # 148
    3 уровень
    Группа: Проверенные
    Сообщений: 52
    Награды: 0
    Репутация: 25
    Блокировки:
    Ty3uK, движ. варика не простая вещь. У кого нибудь возникал такой вопрос: "Однопоточный или многопоточный движ. варика?" ?

    SirNikolas падёт в неравном бою с брутфорсом, Alice.
     

    ВолчачкаДата: Понедельник, 22 Апреля 2013, 20:43:52 | Сообщение # 149
    САЙТ УМЕР ППЦ
    Группа: Проверенные
    Сообщений: 1361
    Награды: 0
    Репутация: 2165
    Блокировки:
    Цитата (BlackFox)
    Ty3uK, движ. варика не простая вещь. У кого нибудь возникал такой вопрос: "Однопоточный или многопоточный движ. варика?" ?

    У меня был. Он однопоточный. Там все в последовательном действии сначала идёт реакция на события, потом проверка условий, а затем действия. Я использовал одну и туже переменную для двух способностей, в основном переменную для обработку отряда. Тестировал с другом, кастили в одно и тоже время, не сбивалась и не багалась.
     

    Ty3uKДата: Понедельник, 22 Апреля 2013, 20:49:39 | Сообщение # 150
    Группа: Ветераны
    Сообщений: 6125
    Награды: 2
    Репутация: 1617
    Блокировки:
    Волчачка, а если таймер? Псевдопотоки никто не отменял.
    Причем, тут тоже загадки - псевдопотоки или многопоточность?
    А асинхронность событий и действий?


    ╭∩╮(︶︿︶)╭∩╮
    "Ульта Тайда мне в жопу!" © k0fe1n
    Статьи: MUI-1|MUI-2|Шрифт
    Полезности: JASP|JNGP|Уголок библиотек
     

    Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [ВАЖНО] Общалка кодеров (Обмен опытом | Обсуждение проблем)
    Поиск:

    Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
    Хостинг от uCoz