Ayuda para empezar secuencia de colores en el juego “Simon dice” en Processing


#1

Estoy empezando a hacer el juego “Simon dice” y no se como empezar a generar la “ListaparaAcertar”, que salgan los colores aleatorios para que el usuario pueda despues repetir la secuencia, ¿Cómo continuo? de momento he hecho esto:

class Cuadrantes{

void cuadrantesOscuros(){
//Cuadrante1
fill(100,0,0);
rect(0, 0, width/2, height/2);
//Cuadrante2
fill(0,0,100);
rect(width/2, 0, width/2, height/2);
//Cuadrante3
fill(0,100,0);
rect(0, height/2, width/2, height/2);
//Cuadrante4
fill(100,100,0);
rect(width/2, height/2, width/2, height/2);

}

/****************************    FUNCIONES AUXILIARES     **************************/
//Definimos el Cuadrante 1 como funcion para no repetir
void c1() {
fill(255,0,0);
rect(0, 0, width/2, height/2);
}
//Definimos el Cuadrante 2 como funcion para no repetir
void c2() {
fill(0,0,255);
rect(width/2, 0, width/2, height/2);
}
//Definimos el Cuadrante 3 como funcion para no repetir
void c3() {
fill(0,255,0);
rect(0, height/2, width/2, height/2);
}
//Definimos el Cuadrante 4 como funcion para no repetir
void c4() {
fill(255,255,0);
rect(width/2, height/2, width/2, height/2);
}

}

class Listas{
int[] listaAcertar={};
int[] intentoUsuario={};
int[] muestraSecuencia={};

void generarVector(){
listaAcertar=append(listaAcertar, int(random(1, 4)));
}

void mousePressed(){
if (mousePressed) {
  if (mouseX < width/2 && mouseY < height/2) {
    cuadrantes.c1();
    intentoUsuario=append(intentoUsuario,1);
  } else if(mouseX > width/2 && mouseY < height/2) {
    cuadrantes.c2();
    intentoUsuario=append(intentoUsuario,2); 
  } else if(mouseX < width/2 && mouseY > height/2) {
    cuadrantes.c3();
    intentoUsuario=append(intentoUsuario,3); 
  } else if(mouseX > width/2 && mouseY > height/2) {
    cuadrantes.c4();
    intentoUsuario=append(intentoUsuario,4); 
  }
 }
}

}

Cuadrantes cuadrantes=new Cuadrantes();
Listas listas=new Listas();
void setup(){
size(600,600);
}

void draw(){
background(0);
cuadrantes.cuadrantesOscuros();
listas.generarVector();
listas.mousePressed();
}

#2

En setup, necesitas agregar números a tu objetoListas - listas.listaAcertar []. Haga esto con el método generadorVector().

Entonces, en setup:

 int acertas = 10;
 para (int i = 0; i <acertas; i ++) {
   listas.generarVector()
 }

Actualmente su código agrega un nuevo número a cada fotograma de draw. No hagas eso.