//1.4
int ledGreen = 10;
int ledRed = 12;
int Green_state; // Green LEDの点灯状態を表す変数 
int Red_state; // Red LEDの点灯状態を表す変数
int Green_length = 1; // Green LEDの点灯(消灯)の長さとして            // 最初にセットする値
int Red_length = 2; // Red LEDの点灯(消灯)の長さとして            // 最初にセットする値
int Green_count; // Green LED に関する時間経過を表す変数 
int Red_count; // Red LED に関する時間経過を表す変数

void setup (){ 
  pinMode(ledGreen , OUTPUT); 
  pinMode(ledRed, OUTPUT);  
  Green_state = HIGH;
  Red_state = HIGH; 
  Green_count = 0; 
  Red_count = 0;
}

void loop () {
  if(check_time(Green_count,Green_length)){
    if (Green_state){
      Green_state = LOW;
      digitalWrite(ledGreen, Green_state);
      delay(1000); 
      Green_count++;
    }else{
      Green_state = HIGH;
      digitalWrite(ledGreen, Green_state);
      delay(1000);
      Green_count++;
    }
  }else{
    digitalWrite(ledGreen, Green_state);
    delay(1000);
    Green_count = 0;
  }

  if(check_time(Red_count,Red_length)){
    Red_state = LOW;
    digitalWrite(ledRed, Red_state);
    delay(2000);
    Red_count++;
  }else{
    if(Red_state){
      Red_state = LOW;
      digitalWrite(ledRed, Red_state);
      delay(2000);
    }else{
      Red_count = 0;
      Red_state = HIGH;
      digitalWrite(ledRed, Red_state);
      delay(2000);
    } 
  }
  delay(250); // 250ミリ秒ごとに時間の経過をチェックする 
}
// 時間の経過をチェックするタイマ機能の関数
int check_time(int led_count, int led_length) { 
  if(led_count == led_length -1) return 1;
  else return 0;
}
