Alfy, the thing is with this battle, you have to learn by Napoleons mistakes, after all he lost this one. The Emperor advanced as you did to hold the 2 towns on his right and center. By doing this he broadened his front, outnumbered 2 to 1 already it favoured the Allies. Fight it again, narrowing your front, this creates a bottleneck and gives you local parity with the enemy.