fixed chaingame and made simpleled game follow idx

This commit is contained in:
2020-12-12 21:24:32 +01:00
parent 32ae7afe35
commit a6765b1d26
4 changed files with 39 additions and 10 deletions

View File

@@ -10,6 +10,8 @@ uint8_t patternIndex = 0;
uint8_t nextPatternIndex = 1;
bool patternFlag = false;
bool firstpattern = false;
e_ledcolor cheatbutton = NONE;
bool cheatButtonFlag = false;
// uint8_t ledpattern[4][3] = {
// {1, 0, 0},
@@ -45,19 +47,39 @@ void HandleChainGame(void)
{
turnOnLed(ledpattern[patternIndex]);
patternFlag = true;
cheatbutton = NONE;
}
else if (!buttonIsPressed(ledpattern[patternIndex]))
else if (buttonIsPressed(cheatbutton))
{
turnOnLed(cheatbutton);
cheatButtonFlag = true;
}
else if (!anybutton())
{
turnOffAllLed();
if (patternFlag)
{
patternFlag = false;
nextPattern();
}
turnOffLed(ledpattern[patternIndex]);
if(cheatButtonFlag)
{
cheatButtonFlag = false;
cheatbutton = NONE;
}
}
else
if(buttonIsPressed(YELLOW2))
{
turnOffAllLed();
cheatbutton = YELLOW;
}
else if(buttonIsPressed(RED2))
{
cheatbutton = RED;
}
else if(buttonIsPressed(GREEN2))
{
cheatbutton = GREEN;
}
// if (buttonIsPressed(YELLOW) | buttonIsPressed(RED) | buttonIsPressed(GREEN))

View File

@@ -19,7 +19,7 @@ void initLeds(void)
ledlist.init();
ledlist.AddLed(LED1, DETECT1, 1, 844, YELLOW, false);
ledlist.AddLed(LED2, DETECT2, 2, 512, RED, false);
ledlist.AddLed(LED3, DETECT3, 2, 92, GREEN, false);
ledlist.AddLed(LED3, DETECT3, 3, 92, GREEN, false);
ledlist.begin();
}

View File

@@ -31,19 +31,26 @@ uint64_t GameSelectTimer = 0;
void HandleIdle(void)
{
//green button first released
if (buttonIsPressed(YELLOW) && !buttonIsPressed(RED) && buttonIsPressed(GREEN) && (nextGame == none))
if (!buttonIsPressed(YELLOW) && buttonIsPressed(RED) && buttonIsPressed(GREEN) && (nextGame == none))
{
//prepare for next game
nextGame = ChainGame;
}
//yellow button first released
if (buttonIsPressed(YELLOW) && buttonIsPressed(RED) && !buttonIsPressed(GREEN) & (nextGame == none))
//red button first released
if (buttonIsPressed(YELLOW) && !buttonIsPressed(RED) && buttonIsPressed(GREEN) & (nextGame == none))
{
//prepare for next game
nextGame = magicSwitchBoard;
}
//green button first released
if (buttonIsPressed(YELLOW) && buttonIsPressed(RED) && !buttonIsPressed(GREEN) & (nextGame == none))
{
//prepare for next game
nextGame = detectLED;
}
//wait for all buttons to be switched off
if (!anybutton())
{

View File

@@ -18,11 +18,11 @@ void handleSimpleLed(void)
{
if (button->isPressed())
{
turnOnLed(button->getColor());
turnOnLed(button->getIndex());
}
else
{
turnOffLed(button->getColor());
turnOffLed(button->getIndex());
}
}
}