Add easy mode based on pulse length
This commit is contained in:
parent
9f964f63d3
commit
9df16a82c4
@ -211,7 +211,7 @@ NormalizedRGB generateRandomNormalizedRGB(const Section *section, uint8_t from,
|
|||||||
}
|
}
|
||||||
|
|
||||||
GameBoard finishedBoard;
|
GameBoard finishedBoard;
|
||||||
void generateTargetGameBoard()
|
void generateTargetGameBoard(bool easy)
|
||||||
{
|
{
|
||||||
for (size_t i = 0; i < 6; i++)
|
for (size_t i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
@ -221,6 +221,23 @@ void generateTargetGameBoard()
|
|||||||
strip.begin();
|
strip.begin();
|
||||||
strip.clear();
|
strip.clear();
|
||||||
GameBoard board;
|
GameBoard board;
|
||||||
|
if (easy)
|
||||||
|
{
|
||||||
|
// left
|
||||||
|
board.left = generateRandomNormalizedRGB(pot3, 2, 3);
|
||||||
|
finishedLeft = false;
|
||||||
|
strip.setPixelColor(3, strip.Color(board.left.r, board.left.g, board.left.b, 0)); // left
|
||||||
|
// middle
|
||||||
|
board.middle = generateRandomNormalizedRGB(pot3, 2, 3);
|
||||||
|
finishedMiddle = false;
|
||||||
|
strip.setPixelColor(4, strip.Color(board.middle.r, board.middle.g, board.middle.b, 0)); // middle
|
||||||
|
// right
|
||||||
|
board.right = generateRandomNormalizedRGB(pot3, 2, 3);
|
||||||
|
finishedRight = false;
|
||||||
|
strip.setPixelColor(5, strip.Color(board.right.r, board.right.g, board.right.b, 0)); // left
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
// left
|
// left
|
||||||
board.left = generateRandomNormalizedRGB(pot3, 0, 3);
|
board.left = generateRandomNormalizedRGB(pot3, 0, 3);
|
||||||
finishedLeft = false;
|
finishedLeft = false;
|
||||||
@ -234,7 +251,7 @@ void generateTargetGameBoard()
|
|||||||
finishedRight = false;
|
finishedRight = false;
|
||||||
strip.setPixelColor(5, strip.Color(board.right.r, board.right.g, board.right.b, 0)); // left
|
strip.setPixelColor(5, strip.Color(board.right.r, board.right.g, board.right.b, 0)); // left
|
||||||
//------------------
|
//------------------
|
||||||
|
}
|
||||||
finishedBoard = board;
|
finishedBoard = board;
|
||||||
strip.show();
|
strip.show();
|
||||||
}
|
}
|
||||||
@ -261,7 +278,7 @@ void setup()
|
|||||||
if (powerOnState)
|
if (powerOnState)
|
||||||
{
|
{
|
||||||
strip.begin();
|
strip.begin();
|
||||||
generateTargetGameBoard();
|
generateTargetGameBoard(false);
|
||||||
strip.show();
|
strip.show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -298,7 +315,7 @@ void loop()
|
|||||||
// Detecting turn-on
|
// Detecting turn-on
|
||||||
if (!powerOnState && digitalRead(POWER_PIN) == HIGH)
|
if (!powerOnState && digitalRead(POWER_PIN) == HIGH)
|
||||||
{
|
{
|
||||||
generateTargetGameBoard();
|
generateTargetGameBoard(false);
|
||||||
powerOnState = true;
|
powerOnState = true;
|
||||||
}
|
}
|
||||||
if (!powerOnState)
|
if (!powerOnState)
|
||||||
@ -309,8 +326,12 @@ void loop()
|
|||||||
|
|
||||||
if (digitalRead(REGENERATE_PIN) == HIGH)
|
if (digitalRead(REGENERATE_PIN) == HIGH)
|
||||||
{
|
{
|
||||||
generateTargetGameBoard();
|
unsigned long resetTimer = millis();
|
||||||
delay(50); // Puls kurz blockieren
|
while (digitalRead(REGENERATE_PIN) == HIGH)
|
||||||
|
{
|
||||||
|
delay(10);
|
||||||
|
}
|
||||||
|
generateTargetGameBoard(millis() - resetTimer > 150);
|
||||||
}
|
}
|
||||||
|
|
||||||
strip.begin();
|
strip.begin();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user