code review: yet another simon game

AWOL:

int led[] = { 2, 3, 4, 5};
int button[] = { 8, 9, 10, 11};

Unless you're planning on changing these while the program is running, I'd make them "const", and also I'd make them "byte".

int buttonPressed = 0;

while(buttonPressed == 0){



No big deal, but using sixteen bits to store one bit's-worth of data is wasteful.
Again, consider using "byte".

I know... I didn't because I'm planning to use that in a school course and I'm trying to simplify (datatype, constants).

Consider also getting rid of all those "delay"s.

I don't get it. Except for the last one I'm using delay() to keep the LEDs on for a fixed amount of time.

for(int x = 1; x < 4; x++){

pinMode(button[x], INPUT);



Luckily, pins are INPUT by default, otherwise that could've caused some hair loss.

Whoops! fixed. If INPUT is default what's the point of using pinMode() in all the code examples?

One last thing: what about the actual implementation? Is there a more clean/obvious way to do it?