Four display support

pull/14/head
Dennis Bücker 1 year ago
parent 84c38fda4c
commit cfb51dcdc2
  1. 67
      src/SimonDisplay.cpp
  2. 4
      src/SimonSays.cpp

@ -117,8 +117,6 @@ void OneColorSelection::update(SimonDisplay &simonDisplay)
void TwoColorSelection::update(SimonDisplay &simonDisplay)
{
// Only test
//simonDisplay.displayOneColorById(simonDisplay.activeColor);
//Serial.println("TwoColorSelectionUpdate");
simonDisplay.clearDisplay(); // clear display first
@ -152,9 +150,6 @@ void TwoColorSelection::update(SimonDisplay &simonDisplay)
}
}
//simonDisplay.displayOneColorById(simonDisplay.activeColor);
//M5.dis.drawpix(14,CRGB::Red);
}
void ThreeColorSelection::update(SimonDisplay &simonDisplay)
@ -166,9 +161,65 @@ void ThreeColorSelection::update(SimonDisplay &simonDisplay)
void FourColorSelection::update(SimonDisplay &simonDisplay)
{
// Only test
simonDisplay.displayOneColorById(simonDisplay.activeColor);
// Serial.println("TwoColorSelectionUpdate");
// Serial.println("FourColorSelectionUpdate");
simonDisplay.clearDisplay(); // clear display first
for (int i = 0; i <= 25; i++)
{
if ((((i - 3) % 5 == 0) || ((i - 4) % 5 == 0)) && (i<10))
{
if (simonDisplay.colorsToDisplay[0] == simonDisplay.activeColor)
{
// Display highlight
simonDisplay.drawPixel(i, simonDisplay.highlightColors[simonDisplay.colorsToDisplay[1]]);
}
else
{
// Display normal Color
simonDisplay.drawPixel(i, simonDisplay.baseColors[simonDisplay.colorsToDisplay[1]]);
}
}
if ((((i - 3) % 5 == 0) || ((i - 4) % 5 == 0)) && (i > 14))
{
if (simonDisplay.colorsToDisplay[0] == simonDisplay.activeColor)
{
// Display highlight
simonDisplay.drawPixel(i, simonDisplay.highlightColors[simonDisplay.colorsToDisplay[2]]);
}
else
{
// Display normal Color
simonDisplay.drawPixel(i, simonDisplay.baseColors[simonDisplay.colorsToDisplay[2]]);
}
}
if ((((i - 0) % 5 == 0) || ((i - 1) % 5 == 0)) && (i<10))
{
if (simonDisplay.colorsToDisplay[1] == simonDisplay.activeColor)
{
// Display highlight
simonDisplay.drawPixel(i, simonDisplay.highlightColors[simonDisplay.colorsToDisplay[0]]);
}
else
{
// Display normal Color
simonDisplay.drawPixel(i, simonDisplay.baseColors[simonDisplay.colorsToDisplay[0]]);
}
}
if ((((i - 0) % 5 == 0) || ((i - 1) % 5 == 0)) && (i > 14))
{
if (simonDisplay.colorsToDisplay[1] == simonDisplay.activeColor)
{
// Display highlight
simonDisplay.drawPixel(i, simonDisplay.highlightColors[simonDisplay.colorsToDisplay[3]]);
}
else
{
// Display normal Color
simonDisplay.drawPixel(i, simonDisplay.baseColors[simonDisplay.colorsToDisplay[3]]);
}
}
}
}
void FiveColorSelection::update(SimonDisplay &simonDisplay)

@ -55,8 +55,8 @@ void SimonSays::goToNextPhase() {
void SimonSays::generateNewSequence() {
// Values will be generated by Level property
currentSequenceLength = 3;
int numberOfColors = 2;
currentSequenceLength = 10;
int numberOfColors = 4;
Serial.print("Generated sequence ");
for (int i = 0; i < currentSequenceLength; i++)

Loading…
Cancel
Save