Eu preciso de uma maneira de fazer um gerador de números aleatórios através do Batch

0

Preciso de ajuda para fazer um gerador de números aleatórios como se você tivesse dado um dado, digamos que se você tivesse um 3 ou mais você ganharia alguma coisa ou se você rolasse abaixo de 3 você não receberia nada, é o que estou tentando fazer Eu não sei onde eu errei, mas ninguém realmente explica isso da maneira que eu preciso, eles entram em detalhes e tudo que eu preciso é uma correção para o código, então:

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

Tudo que eu preciso é que ele me envie para uma nova seção do meu jogo, mas no momento ele não funciona e tem problemas, eu sei que:

1-10 goto AHtrees

está errado e deve estar na linha de:

%num% = > 10 goto AHtrees

mas eu não tenho certeza se isso é certo, então por favor ajude ...

    
por Blue Lynx 01.11.2016 / 23:57

1 resposta

0

O @Blue Lynx também precisará examinar set /a .

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

Como um pequeno bônus, o aleatório parece gerar uma distribuição bastante uniforme no longo prazo.

:: 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
    
por 02.11.2016 / 20:04