Code:
void flip_page(BITMAP* page1, BITMAP* page2, BITMAP* page3, BITMAP* active_page)
{
	if(active_page == page1)
        active_page = page2;
    if(active_page == page2)
        active_page = page3;
	if(active_page == page3)
		active_page = page1;
}
END_OF_FUNCTION(flip_page);
I'm not an allegro programmer but usually with graphics programming setting something with a value, which is what this flip func looks like it is doing, doesn't relate to results on the screen. You must purposely and explicitly set these values to be shown on the screen. Maybe there's a BLIT function in Allegro or DRAW or SET functions or just any function that explicitly sets the new values to screen results. You can't just change the values.