I am in the early stages of a laser tag system and need some advice on button debouncing. My plan is to have the trigger button turn on an IR LED (the "laser"). Each time the button is pressed, I want to store the cumulative number of presses in order to have some kind ammunition control. There will probably be a bar of 8 LEDs where one LED is turned off with every 10 trigger presses or so. The system will be constantly looking for IR signals (hits), tracking the number of trigger presses, and probably making a gunshot noise through a piezo or speaker. With all these functions would it be possible to do a software debounce for the trigger button or do I need to do a hardware debounce? Additionally, because the laser tag system will need to reset when turned off and back on I can't store the number of button presses in eeprom, where do I store this variable? I've done 3 arduino projects till now but I finally decided I need to learn to write code from scratch and these are my initial questions about this system. I'm sure I will have more once I start writing the code.
So far I have the lens assembly for the gun finished. You can check it out on my website http://revoltlab.com/
Thank you for the assistance!