Airsoft solenoid controller

if button is pressed and buttonPressed is FALSE; // If not already pressed
if ( (buttonState == HIGH) && (buttonPressed == FALSE) ){

all the int could be byte
Boolean -> small b?

"still searching for tutorials on using flags " and yet here you are successfully using the flag buttonPressed.
Don't read too much into it - a flag is just a variable that typically contains a 0/1 state, or LOW/HIGH, or FALSE/TRUE (false/true? - check whether these are caps or not. I can never remember so I just use 0/1 myself).