#include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C display(0x27, 20, 4);
const int botonreinicio = 13;
int victor1[]={0,0,24,26,28,30,32,34,36,38,22}; // Declaración de victor1
int victor2[]={0,0,25,27,29,31,33,35,37,39,23}; // Declaración de victor2
void setup()
{
Serial.begin(9600);
display.init();
display.backlight();
display.setCursor(5, 0);
display.print("TIC TAC TOE");
display.setCursor(7, 2);
display.print("LEST GO!");
for(int i = 22; i<40; i++){
pinMode(i, OUTPUT);
}
for(int a = 2; a<11; a++){
pinMode(a, INPUT_PULLUP);
}
pinMode(botonreinicio, INPUT_PULLUP);
}
int turno = 1;
void loop()
{
for(int g = 2; g<11; g++)
{
int victor1[]={0,0,24,26,28,30,32,34,36,38,22};
int victor2[]={0,0,25,27,29,31,33,35,37,39,23};
if(digitalRead(botonreinicio) == LOW){
digitalWrite(victor1[g], LOW);
digitalWrite(victor2[g], LOW);
display.setCursor(0,2);
display.print(" ");
}
if(digitalRead(g)==LOW && turno==1)
{
turno=2;
digitalWrite(victor1[g], HIGH);
delay(300);
}
if(digitalRead(g)==LOW && turno==2)
{
turno=1;
digitalWrite(victor2[g], HIGH);
delay(300);
}
if (digitalRead(victor1[10])==HIGH && digitalRead(victor1[2]) == HIGH && digitalRead(victor1[3]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR UNO");
} else if (digitalRead(victor2[10])==HIGH && digitalRead(victor2[2]) == HIGH && digitalRead(victor2[3]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR DOS");
}
if (digitalRead(victor1[4])==HIGH && digitalRead(victor1[5]) == HIGH && digitalRead(victor1[6]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR UNO");
} else if (digitalRead(victor2[4])==HIGH && digitalRead(victor2[5]) == HIGH && digitalRead(victor2[6]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR DOS");
}
if (digitalRead(victor1[7])==HIGH && digitalRead(victor1[8]) == HIGH && digitalRead(victor1[9]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR UNO");
} else if (digitalRead(victor2[7])==HIGH && digitalRead(victor2[8]) == HIGH && digitalRead(victor2[9]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR DOS");
}
if (digitalRead(victor1[10])==HIGH && digitalRead(victor1[4]) == HIGH && digitalRead(victor1[7]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR UNO");
} else if (digitalRead(victor2[10])==HIGH && digitalRead(victor2[4]) == HIGH && digitalRead(victor2[7]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR DOS");
}
if (digitalRead(victor1[2])==HIGH && digitalRead(victor1[5]) == HIGH && digitalRead(victor1[8]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR UNO");
} else if (digitalRead(victor2[2])==HIGH && digitalRead(victor2[5]) == HIGH && digitalRead(victor2[8]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR DOS");
}
if (digitalRead(victor1[3])==HIGH && digitalRead(victor1[6]) == HIGH && digitalRead(victor1[9]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR UNO");
} else if (digitalRead(victor2[3])==HIGH && digitalRead(victor2[6]) == HIGH && digitalRead(victor2[9]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR DOS");
}
if (digitalRead(victor1[9])==HIGH && digitalRead(victor1[5]) == HIGH && digitalRead(victor1[10]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR UNO");
} else if (digitalRead(victor2[9])==HIGH && digitalRead(victor2[5]) == HIGH && digitalRead(victor2[10]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR DOS");
}
if (digitalRead(victor1[3])==HIGH && digitalRead(victor1[5]) == HIGH && digitalRead(victor1[7]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR UNO");
} else if (digitalRead(victor2[3])==HIGH && digitalRead(victor2[5]) == HIGH && digitalRead(victor2[7]) == HIGH ) {
display.setCursor(0,2);
display.print("GANADOR: JUGADOR DOS");
}
}
}