Arduino问题:" '我'未在此范围内宣布"

时间:2016-01-10 11:20:18

标签: c arduino arduino-uno

为arduino反应游戏制作此代码存在很多问题。我不确定我是否曾宣布过两次或两次。 Arduino告诉我问题在于:" if(i == success_led)"。

// Public Domain 2012 by A.Coster

// some constants for readability, using booleans to save memory
boolean ON  = 1 ;
boolean OFF = 0 ;

// Arduino pin setup - there are 3 pins used for LEDs,
// 1 for push-button. The pin at index success_led is
// the one the user should try to hit.
byte led_pins[3]       = {8,9,10} ;
byte button_pin        =    2 ;
byte success_led       =    1 ;  // refers to pin 9

// time_change is the number of milliseconds to add upon
// failure or subtract upon success.
// colorswitch_delay is the amount of time that the LED stays
// on. This value has time_change added to/subtracted from it.
// So that the user knows which LED was lit up when they hit
// the button, push_pause defines the number of milliseconds
// that the LED will stay on after the button is pressed.
unsigned int time_change       =   50 ;
unsigned int colorswitch_delay =  500 ;
unsigned int push_pause        = 2000 ;

void setup(){

    for (int i=0 ; i ;) ;      
    pinMode( led_pins[i], OUTPUT ) ;

    pinMode( button_pin, INPUT ) ;
}

void loop(){
    // need to keep track of button presses
    // so set the button state to 0 and overwrite
    // later upon button press
    boolean button_state = OFF ;

    // sequentially turn on each LED
    for ( int i=0 ; i        digitalWrite( led_pins[i], HIGH ) ;

        // Check for a button press every 5 milliseconds
        for ( int t=0 ; t            button_state = digitalRead( button_pin ) ;

            // if the button has been pressed, stop
            // switching LEDs so the user knows, and
            // then check if it was the success_led
            if ( button_state == ON ){
                delay( push_pause ) ;

                // set the button state back to off
                button_state = OFF ;
                if ( i == success_led )
                    // if the user hit the right LED,
                    // make it more challenging by
                    // reducing the delay between LED
                    // switches.
                    colorswitch_delay -= time_change ;
                else
                    // if the user was wrong, make it
                    // easier by increasing the delay.
                    colorswitch_delay += time_change ;
                    break ;
                }
            delay( 5 ) ;
        }
        // and turn it off before looping through
        // to turn the next LED on.
        digitalWrite( led_pins[i], LOW ) ;
    }
}

1 个答案:

答案 0 :(得分:2)

在每个Regex rgx = new Regex(@"^\d{4}?-\d{4}?-\d{4}?-\d{4}?$"); if (rgx.IsMatch(mTxtIBAN.Text)) { // valid IBAN } 循环后放置分号。因此,在循环的控制语句中声明的变量for(和一些其他变量)在这些语句之外不存在。例如

i

void setup(){

    for (int i=0 ; i ;) ;      
                       ^^^
    pinMode( led_pins[i], OUTPUT ) ;
                     ^^^???
    //...
相关问题