-#define P1PIN           8
-#define P1LIGHTPIN     12
-#define P2PIN           9
-#define P2LIGHTPIN     13
-#define SPEAKERPIN      6
+#define P1PIN           0 // Interrupts
+#define P2PIN           1
+#define BUTTONLIGHTPIN  4
+#define SPEAKERPIN      9
 #define LONGPRESS_TIME 25
-#define LATCH 4
-#define CLK   3
-#define DATA  2
+#define LATCH           7
+#define CLK             6
+#define DATA            5
 #define INACTIVEMILLIS 1200000 // 20 minutes
 
 // Seven Segment Display Handling
 byte DigitBytes[10]= {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x67};
-
-// Button handling
-enum { BUTTON_NONE=0, BUTTON_SHORT, BUTTON_LONG};
-
-class Button {
-  public:
-    Button(int pin, int longpress_time=LONGPRESS_TIME);
-    void init();
-    int handle();
-  
-  protected:
-    boolean pressed;
-    int counter;
-    const int pin;
-    const int longpress_time;
-};
-
-Button::Button(int p, int t) : pin(p), longpress_time(t)
-{
-}
-
-void Button::init()
-{
-  pinMode(pin, INPUT);
-  digitalWrite(pin, HIGH);
-  pressed = false;
-  counter = 0;
-}
-
-int Button::handle()
-{
-  int event;
-  int now_pressed = !digitalRead(pin);
-  
-  if (!now_pressed && pressed) {
-    if (counter < longpress_time)
-      event = BUTTON_SHORT;
-    else
-      event = BUTTON_LONG;
-  } else {
-    event = BUTTON_NONE;
-  }
-  
-  if (now_pressed) {
-    ++counter;
-  } else {
-    counter = 0;
-  }
-    
-  pressed = now_pressed;
-  return event;
-}
 
 // Victory Song
 class VictorySong {

  p1Win = false;
  p2Win = false;
  gameOver = 0;
}




      blinkToggle = !blinkToggle;
    }
  }

  // Reset the game when requested
  if (gameOver && requestReset) {
    resetGame();
  }
  
  delay(20);
}

