| 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: 16 let
|
|||
0