Está en la página 1de 4

// Definimos constantes para el primer led RGB

#define led1Rojo 2
#define led1Blanco 3
#define led1Azul 4
int pulsador = 5;
int pulsador2 = 6;
int pulsador3 = 7;

// Definimos constantes para el segundo led RGB


#define led2Rojo 8
#define led2Blanco 9
#define led2Azul 10

// Almacena el valor de nuestra elecci�n


char MiOpcion;

// Almacena el valor de la elecci�n de Arduino


int respuestaArduino;

void setup(){ // Inicio setup()

// Estableciendo puertos como entrada de los 3 pulsadores


pinMode(pulsador, INPUT);
pinMode(pulsador2, INPUT);
pinMode(pulsador3, INPUT);

// Estableciendo puertos como salida para el primer led RGB


pinMode(led1Rojo, OUTPUT);
pinMode(led1Blanco, OUTPUT);
pinMode(led1Azul, OUTPUT);

// Estableciendo puertos como salida para el segundo led RGB


pinMode(led2Rojo, OUTPUT);
pinMode(led2Blanco, OUTPUT);
pinMode(led2Azul, OUTPUT);

// Inicia la conexi�n serial a una velocidad de 9600 bits por segundo


Serial.begin(9600);
//Imprime en pantalla los siguientes mensajes
Serial.println("Arduino te da la bienvenida listo para jugar, empecemos!!");
Serial.println("Presiona el boton 1 para piedra, Presiona el boton 2 para papel,
Presiona el boton 3 para tijera");

}// Fin setup()

void loop(){ // Inicio loop()

if(digitalRead(pulsador)==HIGH)
{
digitalWrite(led1Rojo, HIGH); // turn the LED on (HIGH is the voltage level)

Serial.println("Has elegido piedra");


verMiOpcion(1, 0, 0);

respuestaArduino = opcionArduino();

// Realiza una espera de 2 segundos antes de mostrar al ganador


delay(2000);
Serial.println("");
if(respuestaArduino == 0) {
Serial.println("Has sido un empate ninguno gana!!");
}

if(respuestaArduino == 1) {
Serial.println("El papel cubre la piedra arduino gana!!");
verMiOpcion(0, 0, 0); // perdedor
verOpcionArduino(255, 255, 255); //ganador
}
if(respuestaArduino == 2) {
Serial.println("La piedra rompe las tijeras tu ganas!!");
verMiOpcion(1, 1, 1); // ganador
verOpcionArduino(0, 0, 0); // perdedor

} // Fin del C�digo piedra

// Espacio para el c�digo papel

if(digitalRead(pulsador2)==HIGH)
{
digitalWrite(led1Blanco, HIGH); // turn the LED on (HIGH is the voltage level)

Serial.println("Has elegido papel");


verMiOpcion(0, 1, 0);

respuestaArduino = opcionArduino();

// Realiza una espera de 2 segundos antes de mostrar al ganador


delay(2000);
Serial.println("");

if(respuestaArduino == 1) {
Serial.println("Has sido un empate ninguno gana!!");
}

if(respuestaArduino == 0) {
Serial.println("El papel cubre la piedra tu ganas!!");
verMiOpcion(1, 1, 1); // ganador
verOpcionArduino(0, 0, 0); //perdedor
}
if(respuestaArduino == 2) {
Serial.println("La tijera corta el papel arduino gana!!");
verMiOpcion(0, 0, 0); // perdedor
verOpcionArduino(255, 255, 255); // ganador
}

// Espacio para el c�digo tijera

if(digitalRead(pulsador3)==HIGH)
{
digitalWrite(led1Azul, HIGH); // turn the LED on (HIGH is the voltage level)

Serial.println("Has elegido tijera");


verMiOpcion(0, 0, 1);
respuestaArduino = opcionArduino();

// Realiza una espera de 2 segundos antes de mostrar al ganador


delay(2000);
Serial.println("");

if(respuestaArduino == 2) {
Serial.println("Has sido un empate ninguno gana!!");
}

if(respuestaArduino == 0) {
Serial.println("La piedra rompe las tijeras arduino gana!!");
verMiOpcion(0, 0, 0); // perdedor
verOpcionArduino(255, 255, 255); //ganador
}
if(respuestaArduino ==1) {
Serial.println("La tijera corta el papel tu ganas!!");
verMiOpcion(1, 1, 1); // ganador
verOpcionArduino(0, 0, 0); // perdedor
}

} // Fin de la verificaci�n

} // Fin loop()

void verMiOpcion(int Rojo, int Blanco, int Azul){

digitalWrite(led1Rojo, Rojo);
digitalWrite(led1Blanco, Blanco);
digitalWrite(led1Azul, Azul);

int opcionArduino(){

int aleatorio = random(0,2);

if(aleatorio == 0){
Serial.println("Arduino ha elegido piedra");
verOpcionArduino(255,0,0);
}

if(aleatorio == 1){
Serial.println("Arduino ha elegido papel");
verOpcionArduino(0,255,0);
}

if(aleatorio == 2){
Serial.println("Arduino ha elegido tijera");
verOpcionArduino(0,0,255);
}

// esta funci�n devuelve la elecci�n de arduino


// esta es asignada la variable respuestaArduino
return aleatorio;

}
void verOpcionArduino(int Rojo, int Blanco, int Azul){

analogWrite(led2Rojo, Rojo);
analogWrite(led2Blanco, Blanco);
analogWrite(led2Azul, Azul);

También podría gustarte