Ciao Paulus,
spero di aver fatto quello che pensavi, anche se non ne sono certo... Ormai che c'ero ho fatto per i 3 colori...
//*******************************************************************************
if (giri < 18) { // if che fa solo barrette di colore bianco
if (giri > giriprec) { // i giri sono maggiori di giriprecedenti?
myGLCD.setColor(255, 255, 255); //da il colore dei rettangolini
for (int i = giriprec; i < giri; i++) // crea i primi rettangoli bianchi
{
xpos = x[i]; //defnisce lo spostamento orizzontale
ypos = y[i]; //posizione partenza da vert
x2 = xpos + 7; //larghezza dei rettangoli
y2 = ypos + 25; //altezza dei rettangoli
myGLCD.fillRect(xpos, ypos, x2, y2);
}
giriprec = giri;
}
if (giri < giriprec) { // i giri sono minori di giriprecedenti?
myGLCD.setColor(0, 0, 0); //colore dei rettangoli neri
for (int i = giriprec; i >= giri; i--) // cancella i rettangoli bianchi
{
xpos = x[i]; //defnisce lo spostamento orizzontale
ypos = y[i]; //posizione partenza da vert
x2 = xpos + 7; //larghezza dei rettangoli
y2 = ypos + 25; //altezza dei rettangoli
myGLCD.fillRect(xpos, ypos, x2, y2);
}
giriprec = giri;
}
}
//*******************************************************************************
if (giri > 17 && giri < 51) { // if che fa solo barrette di colore verde
if (giri > giriprec) { // i giri sono maggiori di giriprecedenti?
myGLCD.setColor(0, 255, 0); // colore dei rettangoli verdi
for (int i = giriprec; i < giri; i++) // disegna i rettangoli
{
xpos = x[i]; //defnisce lo spostamento orizzontale
y1 = (3); //posizione partenza da vert
x2 = xpos + 7; //larghezza dei rettangoli
y2 = y1 + 25; //altezza dei rettangoli
myGLCD.fillRect(xpos, y1, x2, y2);
}
giriprec = giri;
}
if (giri < giriprec) { // i giri sono minori di giriprecedenti?
myGLCD.setColor(0, 0, 0); // cancella i rettangoli verdi
for (int i = giriprec; i >= giri; i--) //cancella i quadrati
{
xpos = x[i]; //defnisce lo spostamento orizzontale
y1 = (3); //posizione partenza da vert
x2 = xpos + 7; //larghezza dei rettangoli
y2 = y1 + 25; //altezza dei rettangoli
myGLCD.fillRect(xpos, y1, x2, y2);
}
giriprec = giri;
}
}
//*******************************************************************************
if (giri > 50 && giri < 72) { // if che fa solo barrette di colore rosso
if (giri > giriprec) { // i giri sono maggiori di giriprecedenti?
myGLCD.setColor(255, 0, 0); //colore dei rettangoli rosso
for (int i = giriprec; i < giri; i++) //disegna i rettangoli
{
xpos = x[i]; //defnisce lo spostamento orizzontale
y1 = (3); //posizione partenza da vert
x2 = xpos + 7; //larghezza dei rettangoli
y2 = y1 + 25; //altezza dei rettangoli
myGLCD.fillRect(xpos, y1, x2, y2);
}
giriprec = giri;
}
if (giri < giriprec) { // i giri sono minori di giriprecedenti?
myGLCD.setColor(0, 0, 0); //colore dei rettangoli nero
for (int i = giriprec; i > giri; i--) //cancella i rettangoli
{
xpos = x[i]; //defnisce lo spostamento orizzontale
y1 = (3); //posizione partenza da vert
x2 = xpos + 7; //larghezza dei rettangoli
y2 = y1 + 25; //altezza dei rettangoli
myGLCD.fillRect(xpos, y1, x2, y2);
}
giriprec = giri;
}
}
//*******************************************************************************