Avatar
albertpatera
Redaktor
Avatar
albertpatera:

Ahoj,

mám takovej problém, mám cyklus, který postupně vypisuje písmena X a při každym výpisu vynechá jednu mezeru.
Chci udělat, aby vypisoval písmena X, ale každý z nich by mělo jinou barvu a barvy by se opakovaly, nevíte někdo jak to udělat za pomocí cyklu for ?

mám zatím tohle

for (d=1; d<=30; d++)      //šířka - řádky
         {


                     for (c = 1; c<=d; c++) //výška
                {
                  document.write("<span class='bila'>X</span>");



                }

            document.write("<span class="+x+">X<span>");
            document.write("<br>");

        }

nevím si s tím dál rady, díky

Editováno 25.4.2015 18:40
 
Odpovědět 25.4.2015 18:38
Avatar
albertpatera
Redaktor
Avatar
albertpatera:

neměl by někdo alespoň nějaký návod, prosím ?

 
Nahoru Odpovědět 25.4.2015 18:44
Avatar
Jurajs
Člen
Avatar
Odpovídá na albertpatera
Jurajs:

Udělej si pole prvků(barev), každý prvek jedna barva, a pak to nejak pomocí cyklu vykresli... jinak netuším...nevím.. :D

 
Nahoru Odpovědět  -1 25.4.2015 18:54
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na albertpatera
Honza Bittner:

Nějaké možnosti:

  1. udělej nějaký switch, kterému budeš dávat modulo (zbytek po dělení) tvého aktuálního čísla počtem možností?

Pro 4 možnosti:

i % 4 to pak bude takto

- 0 % 4 => 0 (barva A)
- 1 % 4 => 1 (barva B)
- 2 % 4 => 2 (barva C)
- 3 % 4 => 3 (barva D)

- 4 % 4 => 0
- 5 % 4 => 1
- 6 % 4 => 2
- 7 % 4 => 3

... a tak dále - což se opakuje úplně stejně ;)

  1. Pokud chceš mít barvu vždy jinou, né z možností, můžeš použít inline zápis stylů, kde si #abc budeš počítat přes nějakou funkci...
<span style="color: #abc">X</span>
  1. Pokud chceš mít barvy náhodně, tedy né podle nějakého vzoru, pak si dej barvy do nějakého seznamu a volej random(velikos­t_seznamu)
Editováno 25.4.2015 18:59
Akceptované řešení
+5 Zkušeností
Řešení problému
Nahoru Odpovědět  ±0 25.4.2015 18:58
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
albertpatera
Redaktor
Avatar
Odpovídá na Honza Bittner
albertpatera:

pořád nevim, jak sestrojit kód :-(

 
Nahoru Odpovědět 25.4.2015 19:20
Avatar
Nahoru Odpovědět  +1 25.4.2015 19:21
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na albertpatera
Štefan Pružinský:

To je pravouhlý trojuholník?

Nahoru Odpovědět 25.4.2015 20:33
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
albertpatera
Redaktor
Avatar
 
Nahoru Odpovědět 25.4.2015 21:23
Avatar
Štefan Pružinský:

Pokiaľ tomu chápem, je to nejaký trojuholník. Tu je kód:

var colors = new Array("blue", "red", "green", "black");
var iteracia = 0;
for (var i = 0; i < 30; i++)
{
    for (var j = 0; j < i; j++)
    {
        document.write('<span style="color:' + colors[iteracia % colors.length] + '">X </span>');
        iteracia++;
    }
    document.write('<br>');
}

Pripájam aj screenshot.

Nahoru Odpovědět 25.4.2015 21:32
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
albertpatera
Redaktor
Avatar
Odpovídá na Štefan Pružinský
albertpatera:

díky, moc. Jak uděláým, aby se obarvila pouze přepona? (tj. poslední sloupec na nejdelší straně)?

 
Nahoru Odpovědět  -1 25.4.2015 23:09
Avatar
Odpovídá na albertpatera
Štefan Pružinský:

Ahoj, môžeš to vyriešiť takto:

for (var i = 0; i < 30; i++)
{
    for (var j = 0; j < i; j++)
    {
        if (j + 1 == i)
            document.write('<span style="color: red">X </span>');
        else
            document.write('<span style="color: black">X </span>');
    }
    document.write('<br>');
}
Nahoru Odpovědět 25.4.2015 23:24
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Odpovídá na albertpatera
Štefan Pružinský:

Alebo opakujúcimi sa farbami:

var colors = new Array("blue", "red", "green", "black");
for (var i = 0; i < 30; i++)
{
    for (var j = 0; j < i; j++)
    {
        if (j + 1 == i)
            document.write('<span style="color:' + colors[i % colors.length] + '">X </span>');
        else
            document.write('<span style="color: black">X </span>');
    }
    document.write('<br>');
}
Nahoru Odpovědět  +1 26.4.2015 12:22
Najefektívnejším spôsobom debuggingu je modlitba. :)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.