- Questo topic ha 6 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 10 anni, 11 mesi fa da .
-
Topic
-
Devo generare 50 disegni. Ciascuno di essi deve contenere 4 forme geometriche con un colore scelto casualmente tra 5. Il problema può essere semplificato in questo modo: devo generare 50 serie di 4 quadretti colorati, ciascuno con un colore casuale scelto tra 5.
Il codice che ho realizzato è il seguente:
`\documentclass{article}
\usepackage{tikz}
\colorlet{colore1}{gray!20}
\colorlet{colore2}{gray!40}
\colorlet{colore3}{gray!60}
\colorlet{colore4}{gray!80}\begin{document}
\foreach \ciclo in {1,…,50} {
\foreach \i in {1,…,4} {
\pgfmathparse{random(5)}
\ifnum\pgfmathresult = 1
\colorlet{colore\i}{pink}
\else\ifnum\pgfmathresult = 2
\colorlet{colore\i}{red}
\else\ifnum\pgfmathresult = 3
\colorlet{colore\i}{green!80!black}
\else\ifnum\pgfmathresult = 4
\colorlet{colore\i}{orange}
\else\ifnum\pgfmathresult = 5
\colorlet{colore\i}{cyan!95!black}
\fi\fi\fi\fi\fi
}
\noindent
\colorbox{colore1}{1}\colorbox{colore2}{2}%
\colorbox{colore3}{3}\colorbox{colore4}{4}
}
\end{document}`
Il problema è che i colori ridefiniti all’interno del ciclo più interno (quello con indice i) sono locali e perciò sono invisibili nel ciclo più esterno. Come fare per risolvere il problema?Grazie
- Devi essere connesso per rispondere a questo topic.