Take bullet state variables out of player and make it a class of its own, switch bulletLogic to a bool so you know when to call reset (otherwise you have to pass a meaningless vector to it). Switch game to note that we get a pointer to a bullet from player