// juego de colores en arduino
// el orden de los colores es secreto pero en cada intento te dira si tienes algun acierto
#define Azul 9
#define Rojo 10
#define Amarillo 11
#define Verde 12
boolean modoa = 0, modor = 0, modoy = 0, modov = 0;
String ingresados = " ";
char amarillo[] = "amarillo, ";
char rojo[] = "rojo, ";
char azul[] = "azul, ";
char verde[] = "verde, ";
int aciertos = 0;
int colores = 0;
char color[50];
unsigned long tiempoAnterior = 0;
unsigned long intervalo = 50;
void setup()
{
pinMode(Azul, OUTPUT);
pinMode(Rojo, OUTPUT);
pinMode(Amarillo, OUTPUT);
pinMode(Verde , OUTPUT);
Serial.begin(9600);
//Serial.print("colores ingresados--> ");
//Serial.println(ingresados);
//Serial.print("cantidad: ");
//Serial.println(colores);
Serial.println("ingresa 4 colores: ");
}
void loop()
{
unsigned long tiempoActual = millis();
if (tiempoActual - tiempoAnterior >= intervalo) {
tiempoAnterior = tiempoActual;
//Serial.print("colores ingresados--> ");
//Serial.println(colores);
// if((colores>1) && (aciertos == 0))
//{
// Serial.println("Ingresa un color: ");
//}
if (Serial.available() > 0)
{
memset(color, 0, sizeof(color));
Serial.readBytesUntil('\n', color, sizeof(color) - 1);
Serial.read();
if (strcmp(color, "amarillo") == 0)
{
digitalWrite(Amarillo, HIGH);
Serial.print("color ingresado: ");
Serial.println(color);
colores = colores + 1;
ingresados += amarillo;
if ((colores == 1))
{
aciertos = aciertos + 1;
//orden = 1;
//Serial.print("ACIERTOS: ");
//Serial.println(aciertos);
}
}
else if (strcmp(color, "rojo") == 0)
{
digitalWrite(Rojo, HIGH);
Serial.print("color ingresado: ");
Serial.println(color);
colores = colores + 1;
ingresados += rojo;
if (colores == 2)
{
aciertos = aciertos + 1;
//orden = 2;
//Serial.print("ACIERTOS: ");
//Serial.println(aciertos);
}
}
else if (strcmp(color, "azul") == 0)
{
digitalWrite(Azul, HIGH);
Serial.print("color ingresado: ");
Serial.println(color);
colores = colores + 1;
ingresados += azul;
if (colores == 3)
{
aciertos = aciertos + 1;
//orden = 3;
//Serial.print("ACIERTOS: ");
//Serial.println(aciertos);
}
}
else if (strcmp(color, "verde") == 0)
{
digitalWrite(Verde, HIGH);
Serial.print("color ingresado: ");
Serial.println(color);
colores = colores + 1;
ingresados += verde;
if (colores == 4)
{
aciertos = aciertos + 1;
//orden = 4;
//Serial.print("ACIERTOS: ");
//Serial.println(aciertos);
}
}
Serial.print("cantidad de colores: ");
Serial.println(colores);
if (colores == 4)
{
Serial.println("");
Serial.println("colores ingresados: " + ingresados);
Serial.println("");
Serial.print("---------------- Hay ");
Serial.print(aciertos);
Serial.println(" aciertos ----------------");
Serial.println("");
colores=0;
ingresados = "colores ingresados: ";
//orden=0;
}
if (aciertos == 4)
{
aciertos=0;
Serial.println("ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ・☆・Haz ganado・☆・ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ");
Serial.println("");
}
if (colores == 0)
{
aciertos=0;
ingresados = " ";
Serial.println("ingresa 4 colores: ");
delay(2000);
digitalWrite(Amarillo, LOW);
digitalWrite(Rojo, LOW);
digitalWrite(Azul, LOW);
digitalWrite(Verde, LOW);
}
}
}
}