The structure of a simple game will update the positions before rendering every frame.
Here's a simplified example that should suit your needs. For some information visit gamedev.net, there you'll find loads of tutorials and guides for your game.
Pseudocode below
MainLoop()
{
// Get Keyboard Input
...
// Game Logic Impl
...
// Update Positions
UpdatePlayerPosition();
for each ai
UpdateAiPosition();
// Check for sound triggers
ProcessSoundTriggers();
// Draw the scene if needed, you can skip some to limit the FPS
DrawScene();
// Flip the buffers if needed ...
DoubleBufferFlip();
}