 
   
     //とにかくカラフル
-    while( !isPress() ){
+    until(isPress()) {  //スイッチが押されるまで繰り返す
         delay(500);
         melodyC.play();
-        while( melodyC.isPlaying() && !isPress() ){ 
-            if( melodyC.play() )
-                for(int i=0;i<3;i++) 
+        while( melodyC.isPlaying() ){   //曲が終わるまで再生を継続
+            if( melodyC.play() )    //新しい音の再生が始まったら
+                for(int i=0;i<3;i++)    //３回「ランダムに選んだLEDをランダムな色に設定」する
                     Led::set(random(0,8),int2color(random(0,7)));
             Led::lighting();
+            if( isPress() ) break;  //スイッチが押されたら再生停止
         }
         melodyC.stop();
         Led::setAll(OFF);

#define BUZZER_PIN 8
#define SWITCH_PIN 9
#define isPress() (!digitalRead(SWITCH_PIN))

PlayMelody melodyA(BUZZER_PIN);
PlayMelody melodyB(BUZZER_PIN);

void loop(){
    
    //音が変わるたびに発光箇所が変わる
    until(isPress()) {  //スイッチが押されるまで繰り返す
        delay(500);
        melodyA.play();
        while( melodyA.isPlaying() ){   //曲が終わるまで再生を継続
            static unsigned long cnt=0;
            cnt += melodyA.play();
            Led::setAll(OFF);
            Led::set(cnt%9,WHITE);
            Led::lighting();
            if( isPress() ) break;  //スイッチが押されたら再生停止
        }
        melodyA.stop();
        Led::setAll(OFF);
