#include <Wire.h>
#include "ABlocks_LiquidCrystal_I2C.h"
#include <Servo.h>
int seleccion;
int totalcartas;
int jugadores;
int jugadoractual;
int cartas;
int i;
LiquidCrystal_I2C lcd_1(0x27,16,2);
Servo servo_9;
Servo servo_11;
void repartircartas() {
totalcartas = (cartas * jugadores);
jugadoractual = 1;
for (i = 0;
(0 <= totalcartas) ? i <= totalcartas : i >= totalcartas;
i += (0 <= totalcartas) ? +1 : -1) {
lcd_1.clear();
lcd_1.setCursor(0, 0);
lcd_1.print(String("Repartiendo"));
lcd_1.setCursor(0, 1);
lcd_1.print(String(((totalcartas - i)))+String(" Cartas"));
if ((jugadoractual == 1)) {
servo_9.write(25);
delay(300);
}
if ((jugadoractual == 2)) {
servo_9.write(155);
delay(300);
}
jugadoractual=jugadoractual+(1);
if ((jugadoractual > jugadores)) {
jugadoractual = 1;
}
servo_11.write(180);
delay(800);
servo_11.write(0);
delay(200);
}
}
void cargardatos() {
seleccion = 0;
jugadores = 2;
cartas = 0;
lcd_1.clear();
seleccion = 0;
lcd_1.setCursor(0, 0);
lcd_1.print(String("Indique cuantas"));
lcd_1.setCursor(0, 1);
lcd_1.print(String("Cartas"));
delay(2000);
lcd_1.clear();
while ((cartas == 0)) {
seleccion = map(analogRead(A0), 0,1023,1,8);
seleccion = constrain(seleccion, 1,8);
delay(100);
lcd_1.setCursor(0, 0);
lcd_1.print(String("Cartas:"));
lcd_1.setCursor(0, 1);
lcd_1.print(String(seleccion)+String(" Cartas"));
if ((digitalRead(4) == true)) {
cartas = seleccion;
delay(250);
}
}
lcd_1.clear();
}
void setup()
{
servo_9.attach(9);
servo_11.attach(11);
pinMode(A0, INPUT);
pinMode(4, INPUT);
seleccion = 0;
jugadores = 0;
cartas = 0;
lcd_1.begin();
lcd_1.noCursor();
lcd_1.backlight();
lcd_1.clear();
lcd_1.backlight();
servo_9.write(90);
servo_11.write(0);
}
void loop()
{
servo_9.write(90);
cargardatos();
repartircartas();
}