   {
     reset();
     return;
+  } else if (have_won) {
+    // If we are not resetting, and we have already won, no need to do more
+    // work; just wait for the reset.
+    return;
   }
 
   // TODO(benkraft): figure out whether there is a connection on current

boolean correct_positions[7] = {
  false, false, false, false, false, false, false};

// this runs once when the program starts
void setup() 
{


  if (winning)
  {
    have_won = true;
    sendCastleSuccessMessage();
  }
}
