Completei uma pequena implementação e mostro os resultados.
Em 1.000.000 de iterações deu isso:
Array
(
[3] => Array
(
[0] => 137460
[1] => Ganhou 3
[2] => 13.746 %
)
[2] => Array
(
[0] => 214936
[1] => Ganhou 2 Perdeu 1
[2] => 21.4936 %
)
[1] => Array
(
[0] => 264672
[1] => Ganhou 1 Perdeu 2
[2] => 26.4672 %
)
[0] => Array
(
[0] => 382932
[1] => Perdeu 3
[2] => 38.2932 %
)
)
----------------------------------------------------------------------------------------------------------------------------------------
Aqui o numero de vezes que um mesmo resultado ocorreu em sequencia
Array
(
[Ganhou 3] => Array
(
[1] => 118696
[2] => 16226
[3] => 2203
[4] => 293
[5] => 38
[6] => 3
[7] => 1
)
[Ganhou 2 Perdeu 1] => Array
(
[1] => 168903
[2] => 36268
[3] => 7712
[4] => 1646
[5] => 336
[6] => 65
[7] => 6
)
[Ganhou 1 Perdeu 2] => Array
(
[1] => 194718
[2] => 51624
[3] => 13551
[4] => 3523
[5] => 924
[6] => 243
[7] => 54
[8] => 20
[9] => 7
[10] => 4
[11] => 2
[12] => 2
)
[Perdeu 3] => Array
(
[1] => 236235
[2] => 90727
[3] => 34619
[4] => 13263
[5] => 5066
[6] => 1887
[7] => 707
[8] => 267
[9] => 99
[10] => 42
[11] => 14
[12] => 5
[13] => 1
)
)
Por exemplo, "Perdeu 3" 3 vezes seguidas aconteceu 34.619 vezes.
Isso da ( 34.619 / 1.000.000 ) * 100 = 3,4619 % de chance
----------------------------------------------------------------------------------------------------------------------------------------
aqui o codigo fonte do algoritmo em php
<?
function obterDado(){
return ((mt_rand() % 6) + 1);
}
ini_set('memory_limit', '1G');
$result = array(3=>array(0,'Ganhou 3',0),
2=>array(0,'Ganhou 2 Perdeu 1',0),
1=>array(0,'Ganhou 1 Perdeu 2',0),
0=>array(0,'Perdeu 3',0));
$resultado = array(null,0);
$repetiu = array('Ganhou 3'=>array(),
'Ganhou 2 Perdeu 1'=>array(),
'Ganhou 1 Perdeu 2'=>array(),
'Perdeu 3'=>array());
for($x=0;$x<1000000;$x++){
$ataque = array();
$defesa = array();
$ataque[0] = obterDado();
$ataque[1] = obterDado();
$ataque[2] = obterDado();
$defesa[0] = obterDado();
$defesa[1] = obterDado();
$defesa[2] = obterDado();
rsort($ataque);
rsort($defesa);
$ganhou = 0;
if($ataque[0]>$defesa[0]){
$ganhou++;
}
if($ataque[1]>$defesa[1]){
$ganhou++;
}
if($ataque[2]>$defesa[2]){
$ganhou++;
}
$result[$ganhou][0]++;
if($resultado[0]==$ganhou){
$resultado[1]++;
}else{
$resultado[0]=$ganhou;
$resultado[1]=1;
}
if(empty($repetiu[$result[$ganhou][1]][$resultado[1]])){
$repetiu[$result[$ganhou][1]][$resultado[1]] = 1;
}else{
$repetiu[$result[$ganhou][1]][$resultado[1]]++;
}
//echo $ganhou.' - '.$result[$ganhou][1].' - '.$resultado[1].' vezes<br />';
//echo implode(',',$ataque).'x'.implode(',',$defesa).';ganhou_'.$ganhou.'<br />';
}
for($i=0;$i<4;$i++){
$result[$i][2] = ($result[$i][0] / $x)*100;
}
echo '<pre>';
print_r($result);
print_r($repetiu);
echo $x;
?>
Em 1.000.000 de iterações deu isso:
Array
(
[3] => Array
(
[0] => 137460
[1] => Ganhou 3
[2] => 13.746 %
)
[2] => Array
(
[0] => 214936
[1] => Ganhou 2 Perdeu 1
[2] => 21.4936 %
)
[1] => Array
(
[0] => 264672
[1] => Ganhou 1 Perdeu 2
[2] => 26.4672 %
)
[0] => Array
(
[0] => 382932
[1] => Perdeu 3
[2] => 38.2932 %
)
)
----------------------------------------------------------------------------------------------------------------------------------------
Aqui o numero de vezes que um mesmo resultado ocorreu em sequencia
Array
(
[Ganhou 3] => Array
(
[1] => 118696
[2] => 16226
[3] => 2203
[4] => 293
[5] => 38
[6] => 3
[7] => 1
)
[Ganhou 2 Perdeu 1] => Array
(
[1] => 168903
[2] => 36268
[3] => 7712
[4] => 1646
[5] => 336
[6] => 65
[7] => 6
)
[Ganhou 1 Perdeu 2] => Array
(
[1] => 194718
[2] => 51624
[3] => 13551
[4] => 3523
[5] => 924
[6] => 243
[7] => 54
[8] => 20
[9] => 7
[10] => 4
[11] => 2
[12] => 2
)
[Perdeu 3] => Array
(
[1] => 236235
[2] => 90727
[3] => 34619
[4] => 13263
[5] => 5066
[6] => 1887
[7] => 707
[8] => 267
[9] => 99
[10] => 42
[11] => 14
[12] => 5
[13] => 1
)
)
Por exemplo, "Perdeu 3" 3 vezes seguidas aconteceu 34.619 vezes.
Isso da ( 34.619 / 1.000.000 ) * 100 = 3,4619 % de chance
----------------------------------------------------------------------------------------------------------------------------------------
aqui o codigo fonte do algoritmo em php
<?
function obterDado(){
return ((mt_rand() % 6) + 1);
}
ini_set('memory_limit', '1G');
$result = array(3=>array(0,'Ganhou 3',0),
2=>array(0,'Ganhou 2 Perdeu 1',0),
1=>array(0,'Ganhou 1 Perdeu 2',0),
0=>array(0,'Perdeu 3',0));
$resultado = array(null,0);
$repetiu = array('Ganhou 3'=>array(),
'Ganhou 2 Perdeu 1'=>array(),
'Ganhou 1 Perdeu 2'=>array(),
'Perdeu 3'=>array());
for($x=0;$x<1000000;$x++){
$ataque = array();
$defesa = array();
$ataque[0] = obterDado();
$ataque[1] = obterDado();
$ataque[2] = obterDado();
$defesa[0] = obterDado();
$defesa[1] = obterDado();
$defesa[2] = obterDado();
rsort($ataque);
rsort($defesa);
$ganhou = 0;
if($ataque[0]>$defesa[0]){
$ganhou++;
}
if($ataque[1]>$defesa[1]){
$ganhou++;
}
if($ataque[2]>$defesa[2]){
$ganhou++;
}
$result[$ganhou][0]++;
if($resultado[0]==$ganhou){
$resultado[1]++;
}else{
$resultado[0]=$ganhou;
$resultado[1]=1;
}
if(empty($repetiu[$result[$ganhou][1]][$resultado[1]])){
$repetiu[$result[$ganhou][1]][$resultado[1]] = 1;
}else{
$repetiu[$result[$ganhou][1]][$resultado[1]]++;
}
//echo $ganhou.' - '.$result[$ganhou][1].' - '.$resultado[1].' vezes<br />';
//echo implode(',',$ataque).'x'.implode(',',$defesa).';ganhou_'.$ganhou.'<br />';
}
for($i=0;$i<4;$i++){
$result[$i][2] = ($result[$i][0] / $x)*100;
}
echo '<pre>';
print_r($result);
print_r($repetiu);
echo $x;
?>
Qua Abr 15, 2020 5:25 pm por CIFMG
» SOM NA SUA VEZ
Dom Abr 12, 2020 12:10 pm por CIFMG
» não desisti de nenhum jogo
Dom Abr 12, 2020 11:25 am por Moderator
» Voltei a ativa!!!
Seg Abr 06, 2020 5:08 pm por Moderator
» Nick do jogador fazendo propaganda nazista
Qua Jan 22, 2020 8:57 pm por iratan_saboia
» A Voltas dos MORSAS
Qua Nov 28, 2018 6:10 am por |FIT|_|ЭenИy
» Sugestão de melhorias no site!
Qua Nov 21, 2018 6:21 am por |FIT|_|ЭenИy
» Jogo combinado
Seg Jul 30, 2018 2:30 pm por iratan_saboia
» Virar doador
Sex Jun 01, 2018 1:49 am por Robson Chalako Santos