Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
albertpatera
Tvůrce
Avatar
albertpatera:25.4.2015 18:38

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
Tvůrce
Avatar
albertpatera:25.4.2015 18:44

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:25.4.2015 18:54

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
25.4.2015 18:54
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na albertpatera
Honza Bittner:25.4.2015 18:58

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
25.4.2015 18:58
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
albertpatera
Tvůrce
Avatar
Odpovídá na Honza Bittner
albertpatera:25.4.2015 19:20

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

 
Nahoru Odpovědět
25.4.2015 19:20
Avatar
Odpovídá na albertpatera
Štefan Pružinský:25.4.2015 20:33

To je pravouhlý trojuholník?

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

jo, pravoúhlý trúhelník

 
Nahoru Odpovědět
25.4.2015 21:23
Avatar
Štefan Pružinský:25.4.2015 21:32

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
Tvůrce
Avatar
Odpovídá na Štefan Pružinský
albertpatera:25.4.2015 23:09

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

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

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ý:26.4.2015 12:22

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
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.