//C语言多线程-主角和怪物
#include
#include
#define bool int //定义int变量为bool变量,bool不是真就是假
int a=0,b=20;//主角的坐标
int x=1,y=0;//怪物的坐标
int i=1;//i值为真
HANDLE hMutex;
//1.坐标
void GamePosition(HANDLE g_hout,int x,int y)
{
COORD pos;//点的结构体
pos.X=x;//横坐标
pos.Y=y;//纵坐标
SetConsoleCursorPosition(g_hout,pos);
//设置控制平台光标位置
}
DWORD WINAPI Func(LPVOID lpParamter)//多线程的功能函数6.线程是画怪物
{
HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);//7.拿到这张纸
WaitForSingleObject(hMutex, INFINITE);//13.自己进来,自己用洗手间
GamePosition(hout,x,y),printf(“●”);//8.在纸上画怪物
ReleaseMutex(hMutex);//14.放弃使用权
while(1)//9.怪物在横坐标为从0-10依次循环移动
{
if(x>=0&&i==1)
{
printf(” “);
GamePosition(hout,++x,y);
printf(“●”);
Sleep(1000);
if(x==10)
i=0;//i为假
}
else if(x<=10&&i==0)
{
printf(” “);
GamePosition(hout,–x,y);
printf(“●”);
Sleep(1000);
if(x==0)
i=1;
}
}
return 0;
}
int main()
{
H