Мне нужна помощь в создании генератора случайных чисел, вроде броска костей, скажем, если у вас 3 или выше, вы получите что-то или если вы бросили ниже 3, что у вас ничего нет, вот что я пытаюсь сделать, поэтому я не знаю где я ошибся, но никто не объясняет это так, как мне нужно, они разбираются в деталях, и все, что мне нужно, - это исправление кода:

if /a num=%random% %%100 +1 = 1-10 goto AHtrees

Все, что мне нужно, - это чтобы он отправил меня в новый раздел моей игры, но сейчас он не работает, он глючит и тому подобное, я знаю, что:

1-10 goto AHtrees

неправильно и должно быть в соответствии с:

%num% = > 10 goto AHtrees

но я не уверен, что это тоже так, пожалуйста, помогите ...

1 ответ1

0

@Blue Lynx также нужно посмотреть на set /a .

Set /a num=%random% %%100 +1
if %num% GEQ 10 Goto AHtrees

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

:: Roll-Dice.cmd ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@Echo off&SetLocal EnableExtensions EnableDelayedExpansion
Set /A Rolls=100000, Max=6
Echo:%date% %time% Rolls:%Rolls% Max:%Max%
For /L %%N in (1,1,%Rolls%) Do Set /a num=!random!%%Max+1,Arr[!num!]+=1
Set Arr
Echo:%date% %time%


> Roll-Dice.cmd
2016-11-02 19:56:58,29 Rolls:100000 Max:6
Arr[1]=16630
Arr[2]=16593
Arr[3]=16787
Arr[4]=16549
Arr[5]=16648
Arr[6]=16793
2016-11-02 19:57:09,89

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .