>how can I get the same results with a different function?
The functionality of kbhit() is nonstandard and any function that does it may not be on all implementations. I'm not familiar with Bloodshed, so you'll have to look around your documentation to see if there is a kbhit() equivalent. I can't remember exactly, but I think there is a WinAPI function called MsgWaitForMultipleObjects or MsgWaitForMultipleObjectsEx that will wait until certain criteria that you give it are met, such as a key being hit or a time limit being reached. Don't quote me on that though because I'm not sure.

-Prelude