/** Handle game over event */ static void _gameOver(NinjaState *state) { bool win = (state->p1Score == 2); if (win) { setAllLeds(0, 255, 0); } else { setAllLeds(255, 0, 0); } int16_t xp = 0; char buffer[32]; if (win) { xp += 15; int16_t bonus = 6 * (state->p2Level - ANXGetLevel()); if (bonus < 0) bonus = 0; xp += bonus; sprintf(buffer, "Victory!\n%d XP", xp); } else { xp += state->p1Score * 5; sprintf(buffer, "Fail :(\n%d XP", xp); } //Give them credit xp = max(0, xp); addExperience(xp); statusDialog(buffer); safeDisplay(); safeWaitForButton(); ledsOff(); }
// ---------------------------------------------------------------------------------------------------- // // Public // ---------------------------------------------------------------------------------------------------- // ParkingShield::ParkingShield(void) : sevenSeg(sevensegment_pins) { setupOutput(); setupInput(); setAllLeds(false); }
// ---------------------------------------------------------------------------------------------------- // // Public // ---------------------------------------------------------------------------------------------------- // ParkingShield::ParkingShield(void) : sevenSeg(sevensegment_pins), buttonS1(Device::ANALOG_PIN_0), buttonS2(Device::ANALOG_PIN_1) { setupOutput(); setupInput(); setAllLeds(false); }
void setupCreditsNames() { clearFrame(); updateDisplay(); setAllLeds(false); currentLetterOfName = 0; currentName = 0; currentNameOffset = 0; currentDelay = DELAY_AFTER_LETTER; }
void iterateCreditsNames() { static boolean nameFinished = false; byte numLettersOfCurrentName = pgm_read_byte(numLettersByName+currentName); if (nameFinished) { nameFinished = false; setAllLeds(false); } if (currentName < NUM_NAMES) { if (currentLetterOfName < numLettersOfCurrentName*2) // There are 2 bytes (row, column) per letter { byte row = pgm_read_byte(letters + currentNameOffset + currentLetterOfName); byte col = pgm_read_byte(letters + currentNameOffset + currentLetterOfName + 1); setLed(row, col, true); currentLetterOfName = currentLetterOfName + 2; currentDelay = DELAY_AFTER_LETTER; } else // Finished a name { nameFinished = true; currentLetterOfName = 0; currentNameOffset += numLettersOfCurrentName*2; currentName++; currentDelay = DELAY_AFTER_NAME; } } else // Finished, reset { setupCreditsNames(); } }
void servotest ( void ) { while(1) { setAllLeds(0); // Escape if(SW_2){ while(SW_2){ } return; } setMotorLeftPower(power, FORWARD); setMotorRightPower(power, FORWARD); // Neutral position setAllLeds(14); turn(100, 1500, 300); setAllLeds(12); turn(100, 1750, 300); setAllLeds(10); turn(100, 2000, 300); setAllLeds(8); turn(100, 1250, 300); setAllLeds(6); turn(100, 1000, 300); setAllLeds(4); turn(100, 800, 300); } return; }