junkyboy
asked on
Doing stuffs in the background
I am building a game, and I would like to run a function in the background. While the user is playing the game, the user could type the [TAB] key to access a menu list where the user could save, load, quit, etc. Also, while the user is playing the game, I would like to play a midi file in the background (Different function). Simply put, when the user presses the [TAB] key on his/her keyboard, the program should run a certain function. How would I accomplish this?
What OS, compiler ar you using?
ASKER
I'm using MS VisC++ 6.0 on a Win2k machine.
Natural way is: using threads.
About threads you can read in you Windows doc or see
http://sourceware.cygnus.com/pthreads-win32/ for "pthreads"
If you want, i can send you simple example of using threads (write you EMail).
About threads you can read in you Windows doc or see
http://sourceware.cygnus.com/pthreads-win32/ for "pthreads"
If you want, i can send you simple example of using threads (write you EMail).
ASKER
I'm creating a console program... Would it still work??? Also, I wanted to try to make this simple and easy to follow...
Why not? You (psevdo)code may be as :
#include <process.h>
void Thread1 (PVOID pvoid)
{
while (!EndOfThread())
{
.....
}
_endthread () ;
}
void Thread2 (PVOID pvoid)
{
while (!EndOfThread())
{
.....
}
_endthread () ;
}
void Thread3 (PVOID pvoid)
{
while (!EndOfThread())
{
.....
}
_endthread () ;
}
void main()
{
static PARAMS params1 ;
static PARAMS params2 ;
static PARAMS params3 ;
_beginthread (Thread1, 0, ¶ms1) ;
_beginthread (Thread2, 0, ¶ms2) ;
_beginthread (Thread3, 0, ¶ms3) ;
}
#include <process.h>
void Thread1 (PVOID pvoid)
{
while (!EndOfThread())
{
.....
}
_endthread () ;
}
void Thread2 (PVOID pvoid)
{
while (!EndOfThread())
{
.....
}
_endthread () ;
}
void Thread3 (PVOID pvoid)
{
while (!EndOfThread())
{
.....
}
_endthread () ;
}
void main()
{
static PARAMS params1 ;
static PARAMS params2 ;
static PARAMS params3 ;
_beginthread (Thread1, 0, ¶ms1) ;
_beginthread (Thread2, 0, ¶ms2) ;
_beginthread (Thread3, 0, ¶ms3) ;
}
ASKER
Can you send me a sample code, and if I could work it out, I'll give you the points: korngerd@yahoo.com
Thanks
Thanks
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I think I could work it out somehow. Thanks for the sample!