Instead of passing a set of world coordinates, try using the current coordinates of the walking character.
So instead of:
player.Walk(160, 160, eBlock);
try:
player.Walk(cWalkingDude.x+80, cWalkingDude.y, eBlock);
+80 will put the player 80 pixels to the right of WalkingDude.
So instead of:
player.Walk(160, 160, eBlock);
try:
player.Walk(cWalkingDude.x+80, cWalkingDude.y, eBlock);
+80 will put the player 80 pixels to the right of WalkingDude.