    
 }
 
-void lightRing(uint8_t pos, uint32_t color){
+void lightRing(uint8_t pos, uint8_t pos2, uint32_t color, uint8_t wait){
   // pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
   pixels.setPixelColor(pos, color); 
+  pixels.setPixelColor(pos2, color); 
   pixels.show(); // This sends the updated pixel color to the hardware.
-  delay (200);
+  delay (wait);
   pixels.setPixelColor(pos, 0); 
+  pixels.setPixelColor(pos2, 0); 
   pixels.show();
+}
+
+void marioRainbowCycle1() {
+  uint16_t i, j;
+
+  for(j=0; j<1; j++) { // 5 cycles of all colors on wheel
+    for(i=0; i< ringPixels; i++) {
+      pixels.setPixelColor(i, Wheel(((i * 256 / ringPixels) + j) & 255));
+      pixels.show();
+      delay(20);
+      pixels.setPixelColor(i, 0);
+      pixels.show();
+    }
+  }
+}
+
+void marioRainbowCycle2() {
+  uint16_t i, j;
+
+  for(j=0; j<1; j++) { // 5 cycles of all colors on wheel
+    for(i=ringPixels-1; i>= 0 & i < ringPixels; i--) {
+      pixels.setPixelColor(i, Wheel(((i * 256 / ringPixels) + j) & 255));
+      pixels.show();
+      delay(20);
+      pixels.setPixelColor(i, 0);
+      pixels.show();
+      Serial.println (i);
+    }
+  }
 }
 
 // Slightly different, this makes the rainbow equally distributed throughout

          // stop the tone playing:
          tone(4, 0, noteDuration);
        }
        
        break;
      case 'b':

        tone(melodyPin, NOTE_A3,noteDuration);
        Serial.println("1");
    
        lightRing(0, 6, pixels.Color(0,255,0), 200);
        
        break;
      case '2':
        tone(melodyPin, NOTE_B3,noteDuration);
        Serial.println("2");

        lightRing(1, 7, pixels.Color(255,0,0), 200); 
        
        break;
      case '3':
        tone(melodyPin, NOTE_C4,noteDuration);
        Serial.println("3");

        lightRing(2, 8, pixels.Color(255,0,255), 200);
        
        break;
      case '4':
        tone(melodyPin, NOTE_D4,noteDuration);
        Serial.println("4");

        lightRing(3, 9, pixels.Color(0,0,255), 200); 
        
        break;
      case '5':
        tone(melodyPin, NOTE_E4,noteDuration);
        Serial.println("5");

        lightRing(4, 10, pixels.Color(150,0,250), 200);
        
        break;
      case '6':
        tone(melodyPin, NOTE_F4,noteDuration);
        Serial.println("6");

        lightRing(5,11, pixels.Color(0,150,250), 200);
        
        break;
      case '7':
        tone(melodyPin, NOTE_G4,noteDuration);
        Serial.println("7");

        lightRing(6,0, pixels.Color(150,150,250), 200); 
        
        break;
      case '8':
        tone(melodyPin, NOTE_A4,noteDuration);
        Serial.println("8");
        
        lightRing(7, 1, pixels.Color(250,150,0), 200);
        
        break;
      case '9':
        tone(melodyPin, NOTE_B4,noteDuration);
        Serial.println("9");

        lightRing(8, 2, pixels.Color(100,150,100), 200); 
        
        break;
        
