Я кодировал симулятор для TTRPG с «взрывающимся кости», что в основном означает, что если вы переворачиваете максимальное число на одну матрицу, то вы перелетели, которые умирают и добавляете результат к максимальному номеру. Это означает, что на 100% невозможно получить результат, равный кратному максимальному числу. И это работает, он никогда не может равняться восемь (протестировано с бесконечным циклом).
Однако я закодировал другую функцию, multidiceroll () , которая может снять множество Взрыв кости и катиться с преимуществом/недостатком. В multidiceroll () я использую ExplosIvedIceroll () и запускаю его через петли и еще много чего для моделирования нескольких костей и преимуществ. каким -то образом обнимает максимальное число, находясь внутри функции Multidiceroll () , что должно быть невозможно. Почему это? Кроме того, как мне это решить? Я не знаю, связано ли это или полезно. В то время как цикл Общий дизайн: < /p>
while([function with an input of a 1d8, no advantage] != 8) {}
< /code>
Идея заключается в том, что, поскольку получение 8 просто невозможно, цикл while будет продолжаться навсегда. Я ждал более нескольких секунд каждый раз. < /P>
explosiveDiceRoll() продолжение навсегда, он работает правильно
multiDiceRoll() быстро остановился, всегда заканчивая этим в консоли:
1d8
8,8 - SHOULD NOT EQUAL
[ 8 ]
< /code>
function explosiveDiceRoll(maxRoll) {
let roll = diceRoll(maxRoll);
let sum = roll;
while(roll === maxRoll) { //Reroll and add everytime it hits the max roll
roll = diceRoll(maxRoll);
if(roll === 0) console.log("zero error");
sum += roll
}
return sum;
}
< /code>
function multiDiceRoll(diceString,advantage) {
diceString = diceString.split("d");
// console.log(diceString);
let diceAmount= diceString[0];
let diceType = diceString[1];
console.log(`${diceAmount}d${diceType}`);
let results = [];
for(let i = 0; i
export function diceRoll(maxRoll) {
return Math.ceil(Math.random()*maxRoll);
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... r-function
Функция на основе Math.random () не работает внутри другой функции ⇐ Javascript
Форум по Javascript
-
Anonymous
1739636026
Anonymous
Я кодировал симулятор для TTRPG с «взрывающимся кости», что в основном означает, что если вы переворачиваете максимальное число на одну матрицу, то вы перелетели, которые умирают и добавляете результат к максимальному номеру. Это означает, что на 100% невозможно получить результат, равный кратному максимальному числу. И это работает, он никогда не может равняться восемь (протестировано с бесконечным циклом).
Однако я закодировал другую функцию, multidiceroll () , которая может снять множество Взрыв кости и катиться с преимуществом/недостатком. В multidiceroll () я использую ExplosIvedIceroll () и запускаю его через петли и еще много чего для моделирования нескольких костей и преимуществ. каким -то образом обнимает максимальное число, находясь внутри функции Multidiceroll () , что должно быть невозможно. Почему это? Кроме того, как мне это решить? Я не знаю, связано ли это или полезно. В то время как цикл Общий дизайн: < /p>
while([function with an input of a 1d8, no advantage] != 8) {}
< /code>
Идея заключается в том, что, поскольку получение 8 просто невозможно, цикл while будет продолжаться навсегда. Я ждал более нескольких секунд каждый раз. < /P>
explosiveDiceRoll() продолжение навсегда, он работает правильно
multiDiceRoll() быстро остановился, всегда заканчивая этим в консоли:
1d8
8,8 - SHOULD NOT EQUAL
[ 8 ]
< /code>
function explosiveDiceRoll(maxRoll) {
let roll = diceRoll(maxRoll);
let sum = roll;
while(roll === maxRoll) { //Reroll and add everytime it hits the max roll
roll = diceRoll(maxRoll);
if(roll === 0) console.log("zero error");
sum += roll
}
return sum;
}
< /code>
function multiDiceRoll(diceString,advantage) {
diceString = diceString.split("d");
// console.log(diceString);
let diceAmount= diceString[0];
let diceType = diceString[1];
console.log(`${diceAmount}d${diceType}`);
let results = [];
for(let i = 0; i
export function diceRoll(maxRoll) {
return Math.ceil(Math.random()*maxRoll);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79441776/math-random-based-function-not-working-inside-another-function[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия