SOLBB:
I could use infrared or light sensors, which would be best??
Passive IR won't tell you distance or speed. A light sensor will give you some notion of speed but isn't good for telling distance. If you want to detect proximity, distance, and rate of approach I would recommend HC-SR04 ultrasonic range finders. They are available for less than $2 each.
SOLBB:
The solenoids will be used to strike metal with rubber mallets, so I guess they will need to be a fairly powerful what voltage would you recommend??
Old 12V PC power supplies are cheap and easy to get. If you can find a 12V solenoid that will do the job then I would recommend 12V.
SOLBB:
what components will I need??
Solenoids, power supply, logic-level MOSFETs to handle the current, and snubber diodes across the solenoids to protect the MOSFETs from inductive spikes.
SOLBB:
which resistors and which transistors should i use??
also advice on how to wire it.
220 Ohms from Arduino pin to Gate of the MOSFET. Solenoid connects from +12V to Drain of MOSFET. Source of MOSFET connects to 12V Ground and Arduino Ground.