I am trying to make a "laser gun range" like the ones you see at carnivals for my embedded systems class at school. However, I am having trouble because I do not know how to construct the "target". I want to be able to point a "gun" at a target ranging from 4cm to 0.5cm in radius, and I do not know how to detect a laser pointer over that range. CdS photoresistors are very small. I have also looked at IR but as far as I know you cannot focus it. I need help in coming up with a detection method. Bonus points if I can detect whether someone hits the center or edge. If necessary, I can also switch to mechanical Nerf gun range, but then I have to come up with a target with moving parts and have to detect how many bullets were shot and if the target is down somehow.
Background: The focus of the course is "the correct way" to write programs that run on small microcontrollers using state machines. For the end project we have to create a game that uses an 2x20 character LCD, a 16-button keypad, an LED, a button, a speaker, and a seven-segment display all on an ATmega32, which shares a similar peripheral set with the Arduino. I can even use an Arduino Mega with the condition that I write all code myself. (no Arduino.h) I know how to use all these devices and shift registers to give me more I/O. I just need an idea to implement.