#include <FastLED.h>
#include "Matrix.h"
#define LED_PIN 2 // Pin al que están conectadas las tiras de LED
#define COLOR_ORDER GRB // Orden de colores de los LED
#define CHIPSET WS2811 // Tipo de chipset de los LED
#define BRIGHTNESS 200 // Brillo de los LED (puedes ajustarlo según tus necesidades)
// Creación de objetos para los jugadores
Paddle paddle(1, 1, 5, 1, CRGB(255, 0, 255), false); // Pala del jugador
Ball ball(5, 6, 1, 1, CRGB(0, 0, 255), 500); // Pelota
// Objeto para refrescar y llevar el tiempo
Surface surface(50); // La matriz de LED se refrescará a 50 fotogramas por segundo
void setup() {
Serial.begin(9600); // Inicializa la comunicación serial a 9600 baudios
// Configuración de FastLED
FastLED.addLeds<CHIPSET, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection(UncorrectedColor); // Configura los LEDs
FastLED.setBrightness(BRIGHTNESS); // Establece el brillo de los LEDs
// Asocia la pala y la pelota con la superficie
ball.attachCollider(&paddle); // Asocia la pala con la pelota
ball.attachSurface(&surface); // Asocia la pelota con la superficie
paddle.draw(); // Dibuja la pala en la matriz de LED
}
void loop()
{
surface.timer(); // Actualiza el temporizador de la superficie
// Mueve la pala basada en la entrada analógica (un potenciómetro)
paddle.move(map(analogRead(A0), 0, 1023, 0, kMatrixWidth - paddle.getWidth()), kMatrixHeight - 4);
ball.move(); // Mueve la pelota
surface.refresh(); // Refresca la matriz de LED para mostrar cambios
}