Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
26.03.2008 12:46

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Виртуальные игральные кубики

Недавно написал маленькую, но полезную прогу, называется "Игральные кубики". Смысл программы, в следующем: вы выбираете кол-во кубиков от 1 по 20. И бросаете кубики.

Данная версия основана на рандоме, но усчетом факторов реального броска кубиков.

Данную прогу остается улучшить применив еще эврестический подход, для наиболее точно имитации броска игральных кубиков.

Скачать можно на этой странице: http://lasoftgame.ru/downloads.php?cat_id=5

З.Ы.
Знаю, что вы можете сказать: "Нечего страдать фигней" и т.д. Но лучше использовать электронную версию кубиков, чем постоянно искать реальные.

Неактивен

0    0    #2
26.03.2008 13:47

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Виртуальные игральные кубики

Нечего страдать фигней

Неактивен

0    0    #3
26.03.2008 14:10

Gesperid
Участник
Зарегистрирован: 25.02.2005
Сообщений: 106

Re: Виртуальные игральные кубики

Нечего страдать фигней!

З.Ы. Зачем постоянно искать реальные кубики?

Неактивен

0    0    #4
26.03.2008 15:21

Hind
Участник
Откуда: Балашиха
Зарегистрирован: 24.10.2007
Сообщений: 135
Вебсайт

Не нервируйте меня! Мне скоро негде будет прятать трупы!

Re: Виртуальные игральные кубики

Нажимаем на любом калькуляторе RND и умножаем на разность верхней и нижней границы (например, на 114, если у нас 20  кубиков), округляем - вот и наши кости...

Неактивен

0    0    #5
26.03.2008 15:48

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Виртуальные игральные кубики

Hind написал:

Нажимаем на любом калькуляторе RND и умножаем на разность верхней и нижней границы (например, на 114, если у нас 20  кубиков), округляем - вот и наши кости...

Не пойдет.
3 кубика никак не смогут выдать число меньше 3, например.
Кроме того, кубик 2d3 и 3d2 - совсем-совсем разные в плане баланса.

Неактивен

0    0    #6
26.03.2008 16:15

Gesperid
Участник
Зарегистрирован: 25.02.2005
Сообщений: 106

Re: Виртуальные игральные кубики

Hind написал:

Нажимаем на любом калькуляторе RND и умножаем на разность верхней и нижней границы (например, на 114, если у нас 20  кубиков), округляем - вот и наши кости...

А почему 114, а не 100?

Неактивен

0    0    #7
26.03.2008 16:40

- VampirE -
Участник (+3)
Зарегистрирован: 22.06.2006
Сообщений: 101

Re: Виртуальные игральные кубики

Тогда уж RND(N*6-N) + N. smile

А вообще странно, кому нужен этот анализ, если анимации все равно не видно? Вот, если бы выглядело как в игре "Ведьмак", то да.

Отредактировано - VampirE - (26.03.2008 16:45)

Неактивен

0    0    #8
26.03.2008 17:01

Hind
Участник
Откуда: Балашиха
Зарегистрирован: 24.10.2007
Сообщений: 135
Вебсайт

Не нервируйте меня! Мне скоро негде будет прятать трупы!

Re: Виртуальные игральные кубики

fireton написал:

3 кубика никак не смогут выдать число меньше 3, например.

Совершенно верно. Именно так и получится по моей формуле. Ну, конечно,  надо прибавить нижнюю границу, но это и без того ясно.
0 ≤ RND ≤ 1
Верхняя граница (с 3 кубиками) = 3 * 6 = 18
Нижняя граница = 3 * 1 = 3

3 ≤ RND * (18 - 3) + 3 ≤ 18
Вероятности выпадения для каждого кол-ва очков одинаковы.
Что не так?

Неактивен

0    0    #9
26.03.2008 17:06

Gesperid
Участник
Зарегистрирован: 25.02.2005
Сообщений: 106

Re: Виртуальные игральные кубики

А новость-то, меж тем, совсем не из мира IF.

Отредактировано Gesperid (26.03.2008 17:10)

Неактивен

0    0    #10
26.03.2008 17:25

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Виртуальные игральные кубики

Вероятности выпадения для каждого кол-ва очков одинаковы.

Вот это не так.

Спроси у D&D-шника на досуге, почему он предпочтет меч с уроном 6d4 мечу 4d6. smile

Неактивен

0    0    #11
26.03.2008 18:51

Hind
Участник
Откуда: Балашиха
Зарегистрирован: 24.10.2007
Сообщений: 135
Вебсайт

Не нервируйте меня! Мне скоро негде будет прятать трупы!

Re: Виртуальные игральные кубики

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

Неактивен

0    0    #12
26.03.2008 20:29

oleksus
адвентурист шестого дня
Откуда: Киевская Русь, г.Ирпень
Зарегистрирован: 10.02.2007
Сообщений: 149
Вебсайт

Re: Виртуальные игральные кубики

Gesperid написал:

А новость-то, меж тем, совсем не из мира IF.

Ну, точно. Это скорее в министерство финансов. Они такие проги любят.

Неактивен

0    0    #13
26.03.2008 20:44

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 796
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Виртуальные игральные кубики

Eten написал:

Недавно написал маленькую, но полезную прогу, называется "Игральные кубики". Смысл программы, в следующем: вы выбираете кол-во кубиков от 1 по 20. И бросаете кубики.
...
Данная версия основана на рандоме, но усчетом факторов реального броска кубиков.
...
Знаю, что вы можете сказать: "Нечего страдать фигней" и т.д. Но лучше использовать электронную версию кубиков, чем постоянно искать реальные.

Eten, программа нужная. Порадовал. Спасибо. Я ее радостно скачал и опаньки - нету у меня Framework! Соответственно, не работает. Не, я могу скачать этот самый Framework. Но вот насчет того, что она маленькая, я как-то засомневался...

Аналогичную вещь с графикой  - вращающимися кубиками, правда в монохромном изображении, - мой друг Vladius писал на С (без всяких ++ и #) и занимала она килобайта так 3-5. Вместе с графикой. И при этом не требовала дополнительных библиотек. У меня к тебе претензий нет, каждый пишет на чем ему удобно - я бы такую вещь делал на URQ smile. Это просто вопль во Вселенную: Куды же мы катимся! Если для программы, имитирующей броски кубиков, мы качаем 20 мб библиотеку!
Грустно всё это. А программа нужная. Только я ее лучше на Питоне напишу - для смартфона. Будут кубики всегда под рукой. и Места будут занимать мало. Кто алгоритмом поделится?

Неактивен

0    0    #14
26.03.2008 20:52

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 796
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Виртуальные игральные кубики

oleksus написал:

Gesperid написал:

А новость-то, меж тем, совсем не из мира IF.

Ну, точно. Это скорее в министерство финансов. Они такие проги любят.

Это из мира RPG скорее (D&D и AD&D). Т.е. близкий друг ИФ. Минфин сюда отношения не имеет.

Неактивен

0    0    #15
26.03.2008 20:59

Hind
Участник
Откуда: Балашиха
Зарегистрирован: 24.10.2007
Сообщений: 135
Вебсайт

Не нервируйте меня! Мне скоро негде будет прятать трупы!

Re: Виртуальные игральные кубики

Korwin написал:

Если для программы, имитирующей броски кубиков, мы качаем 20 мб библиотеку!

Не все так плохо, KRI будет занимать ненамного больше 100 КБайт, ничего не требуя. smile
Разве что GDI+, но в XP и выше он есть по умолчанию, а ниже можно установить (пакет весит ~900 КБайт).

Korwin написал:

Кто алгоритмом поделится?

А чего там делиться? Числа небольшие, решаем в лоб. Псевдокод:

Код:

score = 0;
for (i = 0; i < n; i++) // n - число бросков кубика (ну или число кубиков)
score += 1 + 5 * random(); // Где random - функция, возвращающая случайное число от 0 до 1

Неактивен

0    0    #16
26.03.2008 21:01

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Виртуальные игральные кубики

Кто алгоритмом поделится?

Корв, да какой там алгоритм. Запускаешь генератор случайных чисел от 1 до N для M кубиков (схемка NdM) и складываешь полученные результаты...

Неактивен

0    0    #17
26.03.2008 23:29

oleksus
адвентурист шестого дня
Откуда: Киевская Русь, г.Ирпень
Зарегистрирован: 10.02.2007
Сообщений: 149
Вебсайт

Re: Виртуальные игральные кубики

Шо вы маетесь, уже сто лет как есть ПРОГА со всеми возможными видами игральных кубиков, которой пользуются в нужной ситуации. Есть ее версия и для мобильников и для кпк. Писать новую - разве что добавить просчитывание кубиков с отскоком от стенки (и для реалистичности можно несколько видов покрытия реализовать, каучук, пенопласт, дерево, ламинат.) tongue

Неактивен

0    0    #18
27.03.2008 06:18

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: Виртуальные игральные кубики

Korwin написал:

Это просто вопль во Вселенную: Куды же мы катимся! Если для программы, имитирующей броски кубиков, мы качаем 20 мб библиотеку!

Эх... Офф-топ подкрался незаметно;). У меня было недавно такое же ощущение, когда свежекупленный МФУ-принтер потребовал скачать в качестве драйверов и сервисного софта ни много ни мало... 150 Мб с гаком! А я еще помню времена, когда вся операционная система (причем с гуём, не так чтоб сильно отставшем от современных мастдаев) в развернутом состоянии занимала меньше места...

Неактивен

0    0    #19
27.03.2008 10:07

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: Виртуальные игральные кубики

Вы все правы, когда говорите про RND, но предлагаемые варианты не удобны. Hind, а где ты увидешь на кубиках дубль, если у тебя только одна цифра будет?

.Net Framework 2.0, эта вещь с появлением Vist-ы скоро станет нормальным явлением, поэтому не вижу смысла писать на чем-нибудь другом для Windows. Прошу для обсуждения .Net Framework заводить другую тему, а не сорить здесь. smile

Korwin, эту херотен можно скачать с сайта MS или найти в журнале "Игромания" выпуск март 2007 (я покупал с двумя DVD), короче, там есть .Net Framework 3, вот его и ставь. Только работать он будет под Windows XP/Vista, ну а вторая включет в себя все предыдущие версии ОС и XP.

Смотрите на скриншот:http://lasoftgame.ru/images/GameCubes.JPG





Код алгоритма:

Код:

            //Очистка от устаревших сообщений
            panel.Text = "";
            //определяет случайное кол-во раз 
            //переворачивания игрального кубика
            Random rnd1 = new Random();
            //определеяет случайную грань игрального кубика
            Random rnd2 = new Random();
            //----------
            //кубик или несколько кубиков перед выдачей случайной грани
            //всегда переворачиваются в среднем от 10 до 30 раз. Номер грани 
            //соответствует выпавшему случайному числу.
            //Каждый кубик имеет шесть граней, поэтому произведение кол-ва 
            //на 6 и использование рандома от такого максимума не может дать
            //точно иммитации броска кубика
            //Т.к. кубиков может быть несколько, то у каждого может выпасть число 
            //принадлежащее отрезку [1,6], поэтому нужно бросать каждый кубик отдельно.
            //Также каждый кубик падая вместе с остальными, поворачивается разное кол-во раз
            //Учитывая все эти факторы можно в достаточной мере смоделировать реальный бросок кубика.
            //Что и делает данный алгоритм.
            //----------
            //массив кол-в переворотов кубиков до выпадения случ. числа
            int[] KolvoPerev = new int[(int)Cub.Value];
            //Т.о. обеспечиваем имитацию разного падения кубиков, 
            //т.е. каждый кубик переворачивается разное кол-во раз
            for (int i = 0; i < (int)Cub.Value; i++)
                  KolvoPerev[i] = 10 + rnd1.Next(20);
            //массив случ. чисел кубиков
            //Cub.Value - это выбранное кол-во кубиков
            int[] RandomChislo = new int[(int)Cub.Value];
            //сумма случ. чисел
            int SummRandomChislo = 0;
            //бросание кубиков
            //бросает каждый кубик по очереди и прибавляет его число
            //к сумме остальных.
            for (int i = 0; i < (int)Cub.Value; i++)
            {
                //бросаем кубик
                for (int j = 0; j <= KolvoPerev[i]; j++)
                    RandomChislo[i] = rnd2.Next(6) + 1;
                //суммируем случ. числа
                SummRandomChislo += RandomChislo[i];
            }
            //Вывод на экран информации о результате броска кубиков
            if (Cub.Value == 1)//если один кубик, то выводим только число
                panel.Text = SummRandomChislo.ToString();
            else
            {//иначе выводим числа всех кубиков и общее число.
                for (int g = 0; g < (int)Cub.Value; g++)
                    if (g == (int)Cub.Value - 1)
                        panel.Text += RandomChislo[g].ToString();
                    else
                        panel.Text += RandomChislo[g].ToString() + " + ";
                panel.Text += " = " + SummRandomChislo.ToString();
            }

Чего здесь явно не хватает, так это эвристического подхода. Т.е. учитывать еще и тот фактор, что на кубике цифры случ. образом на гранях определяются только перед броском. Дальше идет расчет случ. поворот в разных направлениях и учет на каких гранях стоят цифры 1, 2, 3, 4, 5, 6.
Если у меня будет учитан и этот фактор, только тогда можно сказать с уверенностью на 90%, все таки есть факторы в реальном броске зависящие только от самого человека и другие, которыми обычно пренебрегают, например сила броска и прочие ухишрения (такое имеет смысл учитывать в игре "Кости"), что данный алгоритм полностью моделирует рельный бросок, как одного кубика, так и нескольких сразу.

З.Ы.
Так, что с интересом посмотрю на проги, которые смогут это все реализовать и как минимум будут работать на PC.tongue

Неактивен

0    0    #20
27.03.2008 10:12

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Виртуальные игральные кубики

Немножко ещё оффтопа:
скриншот с криво обрезанными краями - это жесть. давно я такого не видел

Неактивен

0    0    #21
27.03.2008 10:19

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: Виртуальные игральные кубики

Korwin, грубо округляя она весит 30 Кб. Программа реально малехонькая, это видно по ее алгоритму.\

А теперь ко всем, кому не лень парить мозги дискретным распз....(тьфу), ну в общем поняли чем. Не страдайте ребята фигней, а взгляните на приведенный выше алгоритм, как говорится все гениальное просто, но не простое гениально!
З.Ы.
Не обижайтесь на мой пост, но читая ваши посты в теме и глядя на приведенный алгоритм, действительно приходишь к выше описанной фразе (читайте жирно выделенное).wink

Неактивен

0    0    #22
27.03.2008 11:45

serval
Участник (-1)
Зарегистрирован: 15.01.2008
Сообщений: 22

Re: Виртуальные игральные кубики

Eten написал:

Чего здесь явно не хватает, так это эвристического подхода. Т.е. учитывать еще и тот фактор, что на кубике цифры случ. образом на гранях определяются только перед броском. Дальше идет расчет случ. поворот в разных направлениях и учет на каких гранях стоят цифры 1, 2, 3, 4, 5, 6

Еще нужно учесть вероятность выпадения кубика на ребро smile

Неактивен

0    0    #23
27.03.2008 12:24

Hind
Участник
Откуда: Балашиха
Зарегистрирован: 24.10.2007
Сообщений: 135
Вебсайт

Не нервируйте меня! Мне скоро негде будет прятать трупы!

Re: Виртуальные игральные кубики

Eten написал:

Hind, а где ты увидешь на кубиках дубль, если у тебя только одна цифра будет?

Блин, значит будем очки на каждом кубике в массив пихать, один шут. В ТЗ ничего не было о необходимости выводить очки по каждому кубику. Вообще, короче - ТЗ не было.

И еще, Eten, откройте для себя Alt + Print Screen.
Что касается вашего алгоритма, то это вообще смешно - никакой разницы вот с этим нет, вы просто делаете лишние вычисления:

Код:

int score = 0;
int * dice = new int[n];

for (int i = 0; i < n; i++)
{
dice[i] = 1 + 5 * random();
score += dice[i];
}

...

delete [] dice;

Для реального кубика - дискретное равномерное распределение. Не углубляясь в "случайность" сишного рандома, скажу, что для вышенаписанного кода распределение именно таково. У вашего - не знаю, это проще увидеть на графике.

Неактивен

0    0    #24
28.03.2008 12:52

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: Виртуальные игральные кубики

Hind, ТЗ здесь простое - это написать программу, которая сможет иммитировать бросок кубиков почти не отличимый от реального, к тому же показывать выпавшее число каждого кубика.

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

Для реального кубика - дискретное равномерное распределение.

Заумными словечками и я могу говорить так, что говори проще, не усложняй понимание простых вещей.

Так, что, Hind, ТЗ здесь следующее: требуется сделать наиболее точную иммитацию броска кубиков, выдать выпавшее число на каждом кубике, число на кубиках не может выпадать хаотичным образом.

Говоря проще, если числа расположились при повороте куба 3,5,6, то не может вслед за 3 вылетить 2. Тут нужно учесть расположения чисел на  реальном игральном кубе. Вот тогда иммитация будет почти не отличимо от реального броска кубика. Некоторыми факторыми, а это: куб упал на ребро, сила броска и прочее, можно пренебречь, т.к. это сильно не повлияет на точность иммитации.

З.Ы.
Я уже в принципе додумал не достающую часть, но в выложенном мною алгоритме учтено много факторов потому, что мне нафиг не нужен тривиальный генератор случ. чисел, мне нужен нормальный иммитатор броска игрального кубика. big_smile

Отредактировано Eten (28.03.2008 12:53)

Неактивен

0    0    #25
28.03.2008 13:59

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Виртуальные игральные кубики

Это будет часть мега-платформы?

Неактивен

0    0    #26
28.03.2008 14:09

Gesperid
Участник
Зарегистрирован: 25.02.2005
Сообщений: 106

Re: Виртуальные игральные кубики

Eten, каждое отдельно взятое предложение в твоем последнем посте - бред, а вместе - полный.

зы. Eten, не пиши весной программ.

Неактивен

0    0    #27
28.03.2008 14:21

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 796
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Виртуальные игральные кубики

Hind написал:

Код:

int score = 0;
int * dice = new int[n];

for (int i = 0; i < n; i++)
{
dice[i] = 1 + 5 * random();
score += dice[i];
}

...

delete [] dice;

Hind, мне кажется правильнее было бы

dice[i] = 1 + 6 * random();

Неактивен

0    0    #28
28.03.2008 14:30

Gesperid
Участник
Зарегистрирован: 25.02.2005
Сообщений: 106

Re: Виртуальные игральные кубики

Korwin написал:

dice[i] = 1 + 6 * random();

А мне кажется все верно:
1 + 5 * random() => 1 + 5 * [0..1] => 1 + [0..5] => [1..6]

Все это, при желание, можно и неравенствами расписать:)

Неактивен

0    0    #29
28.03.2008 14:48

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 796
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Виртуальные игральные кубики

Gesperid написал:

А мне кажется все верно:
1 + 5 * random() => 1 + 5 * [0..1] => 1 + [0..5] => [1..6]

Это кажется, если я не забыл еще как работает сишный random - он по-моему не включает 1. Посему число из диапазона надо умножать на 6 (выйдет при int от 0 до 5) и прибавлять 1.

И, по-моему, тут я все-таки прав. И возможно, в конкретных случаях, бывают конкретно правые и конкретно неправые, а, Gesperid?

Отредактировано Korwin (28.03.2008 14:50)

Неактивен

0    0    #30
28.03.2008 15:33

Mick-the-Pick
Участник
Зарегистрирован: 10.07.2007
Сообщений: 18

Re: Виртуальные игральные кубики

2Eten:
Ты хоть сам осознаёшь, какую ерунду написал?

Зачем человек придумал игральные кости? А только лишь затем, чтобы создать удобный, наглядный генератор случайных чисел. Таким образом, классический игральный кубик о шести гранях - это в идеале простейшее устройство для получения случайного числа из ряда 1..6 с одинаковой вероятностью. И всё!!! Не надо ничего усложнять, доводя до маразма.

Неактивен

0    0    #31
28.03.2008 15:49

Gesperid
Участник
Зарегистрирован: 25.02.2005
Сообщений: 106

Re: Виртуальные игральные кубики

Korwin, по-моему, мы оба немного загнались. Твой вариант, кажись, неравномерен, как и мой (Hind) без арифметического округления smile

Да и вообще, в стандартных либах нет random(), но есть rand():

Код:

rand() % 6 + 1

Korwin написал:

И возможно, в конкретных случаях, бывают конкретно правые и конкретно неправые, а, Gesperid?

Конечно бывают (в конкретных случаях) smile

Отредактировано Gesperid (28.03.2008 15:55)

Неактивен

0    0    #32
28.03.2008 16:42

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 796
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Виртуальные игральные кубики

Gesperid написал:

Korwin, по-моему, мы оба немного загнались.

Туше! Мир.

Неактивен

0    0    #33
28.03.2008 16:44

Hind
Участник
Откуда: Балашиха
Зарегистрирован: 24.10.2007
Сообщений: 135
Вебсайт

Не нервируйте меня! Мне скоро негде будет прятать трупы!

Re: Виртуальные игральные кубики

Я же писал:

Где random - функция, возвращающая случайное число от 0 до 1

Имелось в виду, принадлежащее отрезку [0, 1].
Разумеется, если вы хотите использовать сишную функцию, нужно курить ее описание.

Eten, у вас очень большая проблема - вы считаете "заумные слова" ничего не значащими, а между тем это часть терминологии теории вероятностей, имеющая точные и четкие определения и совершенно обоснованно здесь мной используемая.

Неактивен

0    0    #34
28.03.2008 20:44

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: Виртуальные игральные кубики

Eten, у вас очень большая проблема - вы считаете "заумные слова" ничего не значащими, а между тем это часть терминологии теории вероятностей, имеющая точные и четкие определения и совершенно обоснованно здесь мной используемая.

Когда выложишь нормальный код, тогда и приму твои заверения.

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

Таким образом, классический игральный кубик о шести гранях - это в идеале простейшее устройство для получения случайного числа из ряда 1..6 с одинаковой вероятностью.

А как ты рандомизируешь момент, когда кубик может катиться или поварачиваться в одном направлении определенное время? В таком случае числа могут быть явно не точными и этим пренебрегать нельзя. А с использованием RND можно учесть этот момент, даже если его немножко идеализировать, но только с его помощью, а не напрямую.

Так, что народ, если хотите поспорить, приводите свой код или просто алгоритм, вот тогда и поговорим. Лично мне, больше интересно обсуждение разных вариантов алгоритмов в данной теме, а не препирательства по типу ты рылом не вышел вот и молчи.mad

Отредактировано Eten (28.03.2008 20:47)

Неактивен

0    0    #35
28.03.2008 23:09

Hind
Участник
Откуда: Балашиха
Зарегистрирован: 24.10.2007
Сообщений: 135
Вебсайт

Не нервируйте меня! Мне скоро негде будет прятать трупы!

Re: Виртуальные игральные кубики

Eten написал:

Когда выложишь нормальный код, тогда и приму твои заверения.

Да... Тут явно не о чем говорить - уровни подготовки несопоставимы.

Неактивен

0    0    #36
29.03.2008 10:23

- VampirE -
Участник (+3)
Зарегистрирован: 22.06.2006
Сообщений: 101

Re: Виртуальные игральные кубики

Eten, если уже несколько человек сказали, что ваш алгоритм - бред, может стоит им уже поверить? Если свою платформу вы пишете с таким же подхдом, то я боюсь за ее работоспособность.

Кому нужны все ваши учитывания, если пользователь все равно видит простой рандом? Просто вместо того, что бы один раз срандомить число, вы делаете это 30 раз, и где здесь имитация? Неужели это так трудно увидеть?

Что касатеся еще более "реалистичного" алгоритма, то проще всего иметь два массива граней и "перекатывать" их друг на друга. Только я не думаю, что это кому-нибудь реально нужно кроме вас, если в вашем варианте все легко сводится к простому рандому.

Отредактировано - VampirE - (29.03.2008 10:24)

Неактивен

0    0    #37
29.03.2008 19:12

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Виртуальные игральные кубики

- VampirE - написал:

Кому нужны все ваши учитывания, если пользователь все равно видит простой рандом? Просто вместо того, что бы один раз срандомить число, вы делаете это 30 раз, и где здесь имитация? Неужели это так трудно увидеть?

А я вот поддержу Eten'а. Согласен, что если требуется получить просто случайное число, то изобретать велосипед не следует. Но если задачей ставится именно достоверная имитация броска набора кубиков, то обычным рандомом не обойдешься.

Теперь к вопросу "нафига это надо". В некоторых случаях такое моделирование вполне может быть уместно. И такой "рандом" вполне может быть "фишкой" игры. Конечно, все это ближе к "искусству", в обычных случаях такого не нужно, но попытка решить задачу таким образом вполне имеет право на жизнь.

Неактивен

0    0    #38
29.03.2008 19:22

Hind
Участник
Откуда: Балашиха
Зарегистрирован: 24.10.2007
Сообщений: 135
Вебсайт

Не нервируйте меня! Мне скоро негде будет прятать трупы!

Re: Виртуальные игральные кубики

fireton написал:

Но если задачей ставится именно достоверная имитация броска набора кубиков, то обычным рандомом не обойдешься.

Но ведь достоверная имитация броска кубиков - задача, мягко говоря, другого порядка сложности при отсутствии готового физического движка. Никто с этим и не спорит, просто то, что предложил Eten, для игрока ничем не отличается от моего варианта (специально частотные диаграммы построил), а работает не столь эффективно.

Неактивен

0    0    #39
29.03.2008 19:48

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: Виртуальные игральные кубики

(специально частотные диаграммы построил)

(Смотрит на тему) А где ты их выложил? Уж очень интересно посмотреть

А я вот поддержу Eten'а. Согласен, что если требуется получить просто случайное число, то изобретать велосипед не следует. Но если задачей ставится именно достоверная имитация броска набора кубиков, то обычным рандомом не обойдешься.

Каждый игрок имеет право использовать нормальный иммитатор, а не обижаться на слабые места рандома.

К тому же брать физический движок нужен для игры в "Кости", а здесь задача проще, но требования к иммитации теже.

Eten, если уже несколько человек сказали, что ваш алгоритм - бред, может стоит им уже поверить? Если свою платформу вы пишете с таким же подхдом, то я боюсь за ее работоспособность.

1) ТО что, ты находишься в большинстве - это еще не значит, что ты прав.
2) Можно и дом на даче по десять раз переделывать, даже из-за какой-то мелкой не точности. И не важно, что другие крутят у виска - главное конечный результат.

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

Неактивен

0    0    #40
29.03.2008 20:51

Hind
Участник
Откуда: Балашиха
Зарегистрирован: 24.10.2007
Сообщений: 135
Вебсайт

Не нервируйте меня! Мне скоро негде будет прятать трупы!

Re: Виртуальные игральные кубики

Eten написал:

А где ты их выложил? Уж очень интересно посмотреть

А нафига? Они ничего не докажут сами по себе - всегда можно сказать, что я их нарисовал от фонаря. Кому нужно - тот сам построит, да не забудьте взять число бросков побольше - хотя бы миллион.

Вот реализация моего алгоритма на C:

Код:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    srand((unsigned)time(0));
    int n = 1000000;
    int num = 0;
    int dice[6] = {0,0,0,0,0,0};
    for (int i = 0; i < n; i++)
    {
        num = rand() % 6;
        dice[num]++;
    }
    printf ("%d\n%d\n%d\n%d\n%d\n%d", dice[0], dice[1], dice[2], dice[3], dice[4], dice[5]);
}

Программа выдает список количества выпаданий для каждой стороны кубика.
Если так интересно, график тут.
Можешь сравнить со своим - отличий за пределами погрешности не будет.
Ну, наверное, уже все понятно, да?

Отредактировано Hind (29.03.2008 20:53)

Неактивен

0    0    #41
29.03.2008 23:10

- VampirE -
Участник (+3)
Зарегистрирован: 22.06.2006
Сообщений: 101

Re: Виртуальные игральные кубики

Fireton, если бы имела место быть программа, которая отрисовывала бы бросок кубика со всей точностью, как в то же "Ведьмаке" это имело бы смысл.

В том варианте, что предложил Eten и в сопроваждении к простому рандому можно написать, что все это решается с помощью "полной имитации броска". Пользователь все равно не увидит подлога, так как это априори недоказательно. Вот я о чем. В контексте имеющейся программы такой подход выглядит как минимум странным, если не сказать глупым.

Неактивен

0    0    #42
30.03.2008 10:07

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Виртуальные игральные кубики

Ну Eten, возможно, планирует развивать программу. Построить массивы взаимодействия граней, чтобы отслеживать, куда кубик может перевернуться с текущей грани и задавать случайно количество переворотов, к примеру. smile

Неактивен

0    0    #43
30.03.2008 19:04

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: Виртуальные игральные кубики

Спасибо, Hind. С интересом изучу. Но мне все-таки интересно будет сопоставить свой вариант и твой. Посмотрим как говорится, но за код все равно спасибо. tongue

Неактивен

0    0    #44
30.10.2008 21:12

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: Виртуальные игральные кубики

Это немношко оффтоп, но полезно знать для всех.

Во-первых съехидничаю, хоть прога на ваш взгляд бред, но ее все равно продолжают скачиивать, вопрос только почему?!

Во-вторых эта тема реальный пример, пробуждения форумчан к активному действию. Все сидят и думают, как же народ расшевелить, вот и пример. Нашелся дотошный умник написал и выложил, все сразу зашевелились. Учись, Korwin!
З.Ы.
Приношу извенение администрации, но этот пост считаю поучительным для всех нас (и меня в том числе).

Неактивен

0    0    #45
30.10.2008 23:32

goraph
Участник (+647, -223)
Зарегистрирован: 16.04.2007
Сообщений: 531

Основная добродетель гражданина есть недоверие.

Re: Виртуальные игральные кубики

Мне конечно крайне приятно узнать, что кубики продолжают скачивать, но не совсем понятно какое отношение они имеют к интерактивной литературе и что эта тема делает в разделе "Новости из мира иф"?
Что же касается Корвина, то он уже слишком star чтоб еще чему-то научиться.

Неактивен

0    0    #46
31.10.2008 07:21

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Виртуальные игральные кубики

Интересно, и что же зашевелилось от твоих кубиков?

Неактивен

0    0    #47
31.10.2008 07:54

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: Виртуальные игральные кубики

А чего тут не понятного, у нас в русском сообществе леятельность не такая уж и кипучая. И есть товарищи, которые все думает, как народ расшевелить (например использование платформы, написание новых квестов). А вы посмотрите, какая бурная реакция в теме, так и напрашивается вопрос: "Ребята, а вы чего всполошились то?"
З.Ы.
В общем, кто разбирается в психологии, тот и поймет мой предыдущий пост, тут и объяснять нечего. (итак уже не в тему)

что эта тема делает в разделе "Новости из мира иф"?

А почему бы не новость, я лично не видел нигде на ИЛ информацию о подобного рода программах на ПК, чем тебе не новость.

Уж если человек считает, что это была не новость, то и аргументы должны прилагаться к этому.

Я со своей стороны могу сказать, что никто еще не выкладывал подобной темы и не занимался подобным вопросом! К тому же не смотря на бесмысленность программы для кого-то, она имеет свой маленький смысл: показывать макс.20 кубиков после броска в числовом виде (больше и не нужно, а как она это делает дело десятое). А совать прогу в КПК или телефон, зачем париться?

Еще одним аргументом будет программа Bred3, она является аналагом блокнота, что тоже может быть бесмысленной затеей (название об этом тоже говорит), но она в многократ лучше обычного блокнота, как по возможностям, так и по работе с текстом. Вот тебе и пример бесмысленного, но полезного действия!

А уж если загнуть и по филосовски, то можно явно сказать, что наши с тобой действия в ИЛ - маеться дурью.

З.Ы.
Интересно, а где есть еще программы ПК для броска кубиков без требования к библиотекам?

Неактивен

0    0    #48
31.10.2008 09:14

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Виртуальные игральные кубики

Eten написал:

... А вы посмотрите, какая бурная реакция в теме...

Да... пофлудить мы все мастера...

Неактивен

0    0    #49
31.10.2008 09:14

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Виртуальные игральные кубики

Нечего страдать фигней

Неактивен

0    0    #50
31.10.2008 11:51

goraph
Участник (+647, -223)
Зарегистрирован: 16.04.2007
Сообщений: 531

Основная добродетель гражданина есть недоверие.

Re: Виртуальные игральные кубики

Eten написал:

А почему бы не новость, я лично не видел нигде на ИЛ информацию о подобного рода программах на ПК, чем тебе не новость.

Ну я пока тоже не видел нигде на ИЛ фотографий сисек, результатов последних матчей по крикету и кодов на квейк-3. Надо разместить?
Не кажется что это имеет к Ил примерно такое же отношение как и виртуальные игральные кубики? Имхо для новостей которые ИЛ не касаются есть раздел "Флейм". Ну если администратор проснется, он меня может быть поправит.

Eten написал:

Интересно, а где есть еще программы ПК для броска кубиков без требования к библиотекам?

Помоему их дох*я. Я уже 9 лет пользуюсь консольной программкой под дос которая вообще ничего не требует.

Неактивен

0    0    #51
31.10.2008 13:45

Gesperid
Участник
Зарегистрирован: 25.02.2005
Сообщений: 106

Re: Виртуальные игральные кубики

goraph написал:

Я уже 9 лет пользуюсь консольной программкой под дос которая вообще ничего не требует.

Видимо, 9 лет назад произошла утрата кубика от монополии smile

Неактивен

0    0    #52
31.10.2008 15:23

goraph
Участник (+647, -223)
Зарегистрирован: 16.04.2007
Сообщений: 531

Основная добродетель гражданина есть недоверие.

Re: Виртуальные игральные кубики

Gesperid написал:

Видимо, 9 лет назад произошла утрата кубика от монополии smile

Нет, просто для настольных ролевых игр нужны всякие двадцатигранники, которые тогда еще нельзя было на Украине купить smile

Неактивен

0    0    #53
31.10.2008 16:58

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: Виртуальные игральные кубики

Ну я пока тоже не видел нигде на ИЛ фотографий сисек, результатов последних матчей по крикету и кодов на квейк-3. Надо разместить?

кубики нужны впервую очередь для книг-игр. А фотографии ...(цензура) и т.д. какой смысл к ИЛ имеют, не понял. Они и рядом не стоят.

Я уже 9 лет пользуюсь консольной программкой под дос которая вообще ничего не требует.

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

Не, я тоже люблю в квесты поиграть в досе, но использую DosBox и он тоже весит определенного размера. Так как же, ты умудряешься в наше время запускать дос-консоль на XP? на ней не все дос проги идут, увы. sad
З.Ы.
Может прогу нормальную откопал, но не у всех она есть! wink

Лучше бы еще выложил ее здесь, дабы другие посмотрели.

Отредактировано Eten (31.10.2008 17:00)

Неактивен

0    0    #54
31.10.2008 20:00

Gesperid
Участник
Зарегистрирован: 25.02.2005
Сообщений: 106

Re: Виртуальные игральные кубики

http://www.thedicer.com/ , например.

Отредактировано Gesperid (31.10.2008 20:11)

Неактивен

0    0    #55
31.10.2008 21:10

goraph
Участник (+647, -223)
Зарегистрирован: 16.04.2007
Сообщений: 531

Основная добродетель гражданина есть недоверие.

Re: Виртуальные игральные кубики

В google попробуй написать dice roller. Помоему вариантов более чем достаточно на любой вкус.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru