Improved click-to-shoot

added handle_shot() to remove redundant code