 LEDTable ledtable = LEDTable(2, 20, 15, PIXELORDER<flip_xy, snake>);
 
 int numberOfPlayers = 0;
+unsigned int frame;
 
 #define PINS_PER_PLAYER 2
 const int playerPins[MAXIMUM_NUMBER_OF_PLAYERS][PINS_PER_PLAYER] = {{3,4},{5,6},{7,8},{9,10},{11,12},{13,A0},{A1,A2},{A3,A4}};
 const Color colors[MAXIMUM_NUMBER_OF_PLAYERS] = {color_red, color_green, color_yellow, color_violet, 
                                                  color_orange, color_darkgreen, color_darkgoldenrod, color_white};
 
-class Effect
-{
-private:
-  const Color colors[EFFECT_COLORS] = {color_black, color_black, color_black, color_black, color_black};
-  int x;
-  int y;
-  uint8_t color_index;
-  bool activated; 
-public:
-  Effect()
-  {
-    activated = false;
-    color_index = 0;
-  }
-
-  void activate()
-  {
-    for (int i = 10; i; i--)
-    {
-      x = random(ledtable.minX(), ledtable.maxX() + 1);
-      y = random(ledtable.minY(), ledtable.maxY() + 1);
-      activated = ledtable.at(x, y) == BACKGROUND_COLOR;
-      if (activated)
-      {
-        break;
-      }
-    }
-  }
-
-  void update()
-  {
-    if (activated)
-    {
-      paint();
-      collide();
-    }
-  }
-
-  void paint()
-  {
-    color_index = (color_index + 1) % EFFECT_COLORS;
-    ledtable.fill(x, y, colors[color_index]);
-  }
-
-  void collide()
-  {
-    
-  }
-};
-
-
-enum PlaterState {MOVING, EXPLODING, END_OF_EXPLOSION, DEAD};
+enum PlaterState {MOVING, EXPLODING, END_OF_EXPLOSION, DEAD, INVULNERABLE};
 enum PlayerDirection {DOWN = 0, LEFT = 1, UP = 2, RIGHT = 3, STANDING};
 enum ButtonState {CATCHING_INPUT, WAITING_FOR_PLAYER_TO_SWITCH_BACK};
+
+void letOtherPlayersCollide(int index);
+void speedup();
+void slowdown();
 
 class Player
 {

  {
    switch (state)
    {
      case MOVING: react(); move(); collide(); paint(); break;
      case EXPLODING: explode(); break;
      case END_OF_EXPLOSION: removeExplosion(); break;
      case DEAD: break;
    }
  }

  void removeExplosion()

#include <ledtable.h>
#include <EEPROM.h>

/* These constants can change the game */
#define NUMBER_OF_PLAYERS 4
#define STEPS_TO_HOLE 5
#define BACKGROUND_COLOR color_black
#define TIME_BETWEEN_ROUNDS_MILLIS 300
#define TIME_BETWEEN_ROUNDS_MILLIS_SPEEDUP 200
#define TIME_BETWEEN_ROUNDS_MILLIS_SLOWDOWN 200
#define NUMBER_OF_FRAMES_TO_BE_INVULNERABLE 10
#define EXPECTED_TIME_BETWEEN_POWERUPS 7

#define SPEEDUP_COLOR color_blue
#define SLOWDOWN_COLOR color_orange
#define INVULNERABLE_COLOR color_white

/* These are private constants */
#define MAXIMUM_NUMBER_OF_PLAYERS 8
