Files
G.U.L.L.S/src/RicochetMatrix.cpp
2026-08-16 22:22:14 -04:00

45 lines
1.3 KiB
C++

#include "RicochetMatrix.h"
void RicochetMatrix::initialize() {
for(uint16_t i = 0; i < numBalls; i++) {
if(balls[i] != NULL) {
delete balls[i];
}
randomSeed(random(0, 10000000));
balls[i] = new RicochetHelper(random(0, matrix->getWidth()), random(0, matrix->getHeight()),
matrix->getWidth(), matrix->getHeight(), colors[random(0, numColors)]);
Serial.print("Ball ");
Serial.println(i);
Serial.print("X ");
Serial.println(balls[i]->getCurrentXPos());
Serial.print("Y ");
Serial.println(balls[i]->getCurrentYPos());
Serial.print("CR ");
Serial.println(balls[i]->getCurrentColor().red);
Serial.print("CG ");
Serial.println(balls[i]->getCurrentColor().green);
Serial.print("CB ");
Serial.println(balls[i]->getCurrentColor().blue);
}
}
void RicochetMatrix::execute() {
Serial.println("Pre Clear");
matrix->clearLEDs();
Serial.println("Post Clear");
Serial.println("Positional Updates");
for(uint16_t i = 0; i < numBalls; i++) {
balls[i]->updatePositions();
matrix->drawPixel(balls[i]->getCurrentXPos(), balls[i]->getCurrentYPos(),
balls[i]->getCurrentColor());
}
Serial.println("Post Positional Updates");
Serial.println("Pre Request Show");
matrix->requestShow();
Serial.println("Post Request Show");
}