I am currently developing a 2D puzzle game. Moving entities are: the player, the enemies, projectiles. I am a bit unsure if I should run a collision check after I move each entity, or move all entities and then check for collisions. The latter makes more sense for a few reasons, one being the case where two entities would collide only after both have moved. If we run the collision detection after each entity moves the collision (and bounce, if that's what they do), would not look correct. Granted, it would probably not be noticable depending on how far they move and the framerate and what not, but still.
I just wanted to see if there is ONE answer to the question, or if not, thoughts on when to run use either of the options.