I have found a method I like.
What I have ended up doing to fit my movements needs for tile based movements is..
I use two objects one is the real object the other is invisible like a shadow. When push an button such as right arrow the shadow jumps to the new position and checks for overlap or collisions. If none are found then the real object moves to the shadow. If a collision or other problem occurs the shadow jumps back to the real object and a message such as "there is a wall" can be played or if it is an enemy then an attack can occur.
I even use this for my wandering enemies if they move in a tile like way. Though I am going to have to work on better path finding for enemies.