Problem controlling different display rates

Hi everyone,

Currently coding a basic 2D game, I want to do something simple. Player and monsters share the same moves functions.
But, I want monsters to move slowly than the protagonist controlled by the player.

void Time(){

	keyOperations();
	glutPostRedisplay();
	glutTimerFunc(35, Time, 0);
}

This is for the general speed of the game, it applies to all my drawings when they change coordinates and are moved with glTranslatef.

But as I said, I want the result on screen of monster’s glTranslatef to appear slower than the caracter controlled by the player.

Is there and efficient way to implement that, so that the speed could be different for several objects sharing the same moves functions?

void drawPikachu(){
	
	glColor4f(1, 1, 1, 1);
	glEnable(GL_TEXTURE_2D);
	glBindTexture(GL_TEXTURE_2D, textures[0]);

	if (game.bob.jumpState){
		jumpStart(&(game.bob));
	}
	

	else{
		if(isVoid(&(game.bob), map))
			fall(&(game.bob));

		else
			game.bob.fallState = false;
	}
		
	glPushMatrix();
	glTranslatef(game.bob.yp*6.0, game.bob.xp*12.0, 0.0);	
				
		//Initialise bob's position at game's launch to bottom left of the map
	glBegin(GL_QUADS);
   		glTexCoord2d(0.0, 1.0); glVertex2i(0.0,36.0);
    	glTexCoord2d(0.0, 0.0); glVertex2i(0.0,0.0);
    	glTexCoord2d(1.0, 0.0); glVertex2i(36.0,0.0);
    	glTexCoord2d(1.0, 1.0); glVertex2i(36.0,36.0);
   	glEnd();

   	glPopMatrix();
    		
    glDisable(GL_TEXTURE_2D);    
}

That’s an example of display function, I have others for each specific monster/objects. Just want them to appear at different speed at screen.

If someone can help, I would be very grateful !