| Autor | Zpráva | ||
|---|---|---|---|
| lifeplus Profil * |
#1 · Zasláno: 3. 11. 2008, 21:56:33
Ahoj,
mám problém s generátorem náhodných seskupeních. mám pole $pole = array(0 => 'neco', 1 => 'nic'); momentálně to dělám takhle: $pole[rand(0,1)]; ale přestalo mi to vyhovovat, potřebola bych, aby když je "neco" tak následně bylo 3x "nic" a pak zase "neco" nebo "nic", maximálně však 9 "nic" vedle sebe. Pomohl by mi s tím někdo? |
||
| bohyn Profil |
#2 · Zasláno: 3. 11. 2008, 22:05:02
Generovani nahodnych cisel podle procentalniho zastoupeni se tu nedavno probiralo. viz vyber polozky
kolikrat v rade bylo neco/nic si odhlidas pres pole nebo sessions/cookies |
||
| keeehi Profil * |
#3 · Zasláno: 3. 11. 2008, 22:15:17
$nic = 0;
$vysledek = 0;
cyklus
{
$nahodny = rand(0,1);
if ($nahodny == 0)
{
$vysledek .= "0111";
$nic += 3;
}
else
{
$vysledek .= "1";
$nic++;
}
if ($nic == 9)
{
$vysledek .= "0111";
$nic = 0;
}
}
$x = array("0", "1");
$y = array("něco,", "nic,");
echo (str_replace($x, $y, $vysledek)); |
||
| keeehi Profil * |
#4 · Zasláno: 3. 11. 2008, 22:20:09
pokaždé, když se objeví něco, přidá se za něco nic. Pokud se objeví 9x nic za sebou, přidá se za poslední nic něco, a protože se tedy v textu objevilo něco, přidá se za to zase nic.
Je to hroznej popis, ale jinak to nešlo. Začínám nenávidět slova nic a něco. |
||
| keeehi Profil * |
#5 · Zasláno: 3. 11. 2008, 22:22:03
oprava: pokaždé, když se objeví něco, přidá se za něco 3x nic. Pokud se objeví 9x nic za sebou, přidá se za poslední nic něco, a protože se tedy v textu objevilo něco, přidá se zase za něco 3x nic.
|
||
| lifeplus Profil * |
#6 · Zasláno: 3. 11. 2008, 22:48:27
funguje fakt pěkně, díky
|
||
| lifeplus Profil * |
#7 · Zasláno: 3. 11. 2008, 23:13:42
bohužel ne, po chvíli se začne opakovat něco # 3x nic # něco
|
||
| BetaCam Profil |
#8 · Zasláno: 4. 11. 2008, 01:56:28
lifeplus
třeba :
$data = array('neco', 'nic');
$inline = 0;
$stack = array();
for($i=0;$i<20;$i++){
if ($inline === 9 OR rand(0,1) === 0) {
$inline = ($inline === 9 ? 0 : $inline+3);
array_push($stack, $data[0], $data[1], $data[1], $data[1]);
}else{
$stack[] = $data[1];
}
}
pokud sem to dobře pochopil |
||
| lifeplus Profil * |
#9 · Zasláno: 4. 11. 2008, 11:44:54
skoro, ale už nebude problém si to upravit, díky
|
||
|
Časová prodleva: 18 let
|
|||
0