Фон
Я только изучаю JavaScript, и я подумал, что хорошим способом начать было бы написать мой собственный ролик для игры в кости для RPG, в которую я играю .В этой игре вы бросаете несколько шестигранных кубиков, где каждые 4 или 5 стоят одного успеха, а каждые 6 - 2 успеха.
У меня есть функция, которая бросает кости и пропускает броски черезмассив, в другую функцию, которая HTML-кодирует его для отображения на веб-странице.
Код
Для того, чтобы бросить кости, у меня есть то, что я считаю стандартной функцией ролика игры в кости (sides
переменная из-за того, что иногда вы можете бросать кости, у которых есть стороны, отличные от 6, поэтому я сделал эту функцию пригодной для всех бросков кубиковфункция вызывает эту rollDice()
функцию несколько раз и помещает каждый результат в массив.
Это основная функция, где number
- количество бросаемых костей:
function dice(number) {
let results = [];
for (i=0; i<number; i++){
results.push(rollDice(6));
}
return results;
}
Однако с тех пор я узнал о цикле do…while
и сумел его рефакторинг таким образом:
function dice(number) {
let results = [];
do {
results.push(rollDice(6));
} while (results.length < number)
return results;
}
Актуальный вопрос
Какой цикл является более «правильным» или лучшимпрактиковаться в использовании?for
или do…while
?