Combat class with game loop