Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: barvy, které se opakují

JavaScript JavaScript barvy, které se opakují

Aktivity (1)
Avatar
albertpatera
Redaktor
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
Redaktor
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  -1 25.4.2015 18:54
Avatar
Honza Bittner
Redaktor
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  ±0 25.4.2015 18:58
Student FIT ČVUT. Sleduj mě na https://twitter.com/tenhobi a zeptat na cokoli se mě můžeš na https://github.com/HoBi/...
Avatar
albertpatera
Redaktor
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
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ý: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
Redaktor
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
Redaktor
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  -1 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  +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.