Autor | Zpráva | ||
---|---|---|---|
panvicka Profil |
#1 · Zasláno: 23. 11. 2009, 19:48:31
Ahoj, mám menší problém s programem, co má vyplivnout duhovou větu. Bohužel mi to vypíše jen nějakých část znaků té věty. Pomůžete prosím?
<form name="duha" method="GET" action="#"> <p>Zduhovaťet?: </p> <input type="text" name="duha" /> <input type="submit" name="OK" value="OK" /> </form> <?php if (isset($_GET["OK"])) { if (!empty($_GET["duha"])) { $veta = $_GET["duha"]; $r = 255; $t = 0; $s = 10; $i = 0; while ($s < 127 && $i < strlen($veta)) { echo '<span style="color: rgb('; echo $r; echo ','; echo $s; // oranzova cervena rgb(255,127,0) echo ','; //$r = 255; $s = 127; $t = 0 echo $t; echo ')">'.$veta[$i].'</span>'; $s = $s + 20; $i++; } while ($s > 127 && $i < strlen($veta) && $s < 255) { echo '<span style="color: rgb('; echo $r; echo ','; echo $s; echo ','; // zluta echo $t; // $r = 255; $s = 255; $t = 0; echo ')">'.$veta[$i].'</span>'; $s = $s + 20; $i++; } while ($i < strlen($veta) && $r > 0) { echo '<span style="color: rgb('; echo $r; echo ','; echo $s; // zeleny echo ','; // $r = 0; $s = 255; $t = 0; echo $t; echo ')">'.$veta[$i].'</span>'; $i++; $r = $r - 20;; } while ($i < strlen($veta) && $t < 255 && $s > 0) { echo '<span style="color: rgb('; echo $r; echo ','; // modra echo $s; // $r = 0; $s = 0; $t = 255; echo ','; echo $t; echo ')">'.$veta[$i].'</span>'; $i++; $t = $t + 20; $s = $s - 20; } while ($i < strlen($veta) && $r < 102) { echo '<span style="color: rgb('; echo $r; echo ','; echo $s; // fialkova echo ','; // $r = 102; $s = 0; $t = 255 echo $t; echo ')">'.$veta[$i].'</span>'; $i++; $r = $r + 20; } while ($i < strlen($veta) && $r < 255) { echo '<span style="color: rgb('; echo $r; echo ','; echo $s; echo ','; echo $t; echo ')">'.$veta[$i].'</span>'; $i++; $r = $r + 20; } } else {echo "<p>Zapomněli jste napsat větu..asi..</p>";} } ?> Jinak to běží tady Vím, že mi tam chybí ještě jeden cyklus, kterým se bude točit pořád dokola dokat $i < strhlen($veta), ale nejak se mi to tam nedari nacpat :( |
||
Bubák Profil |
#2 · Zasláno: 23. 11. 2009, 20:05:07
<span style="color: rgb(-25,170,120)">u</span> Specifikace nedovoluje záporné hodnoty barvových složek. |
||
panvicka Profil |
#3 · Zasláno: 23. 11. 2009, 20:06:43
Jojo o tom vím, myslela jsem, že mi ta prasárna projde...je to jenom tím?
|
||
Kacko Profil |
#4 · Zasláno: 23. 11. 2009, 20:18:59
panvicka:
$r = $r + 20; $t = $t + 20; ... Chyba je v te dvacicte(+ 20). Tohle cislo musis dopocitat pomerne s poctu znaku ve stringu, aby jsi tim pokryla celou siri duhy. Tedy: $diff = round(560 / strlen($veta)); // ...bla bla bla... while ($s < 127 && $i < strlen($veta)) { // ..bla... $s = $s + $diff; // a vsude nahradit tu dvacitku za $diff.. |
||
panvicka Profil |
#5 · Zasláno: 23. 11. 2009, 20:24:58
Jé děkuji, něco podobného mne napadlo, ale nevěděla jsem, jak to zrealizovat. Moc díky!
|
||
Časová prodleva: 8 let
|