For anything that is close to a game or a simulation, you need to learn what is a "game loop" also called "main loop". There is a nice explaination of the principle on wikipedia.
Basically you should NOT be waiting the input, but you should loop to update the state of the game even if nothing happen: observe the input, see if something happened and if not, just continue looping, if something happen, do it, then continue looping. You must NEVER wait for the input, you just check if there is something to do or not.
This also mean that you should not use a blocking call like _getch(). You have to use whatever input function you have available that only check if there is something to do. It depends a lot on what input API you are using exactly, so I can't get into details without knowing which API you use.
A simple (or more correctly: naive) game loop looks like this:
while( !exit_game )
{
read_input(); // acquire inputs then generate actions interpreted from inputs, if any
update_game(); // update the game to generate it's new state after applying all the actions from all the game entities
render(); // render the graphics and audio
}
This is very naive and don't work well in a real case but it's basically the idea.
I recommand reading this and this to better understand what a game loop is, but it don't focus on getting inputs.