我遇到的情况是我的两个线程正在互相工作。
我想让程序做的是在按下一个键后直接画一个字符(字母或数字)。但是,我认为发生的事情如下:
以下是我正在处理的一些代码:
移动角色的代码:
static void Move(Player player)
{
char c;
while (true)
{
if (_kbhit)
{
c = _getch();
if (c == player.charPlayer[0])
{
player.posY++;
}
if (c == player.charPlayer[2])
{
player.posY--;
}
if(c == 'x')
{
cout << "Program is now breaking!\n";
break;
}
}
DrawChar(player);
}
}
绘制角色的代码:
static void DrawChar(Player player)
{
Console::gotoxy(player.posX, player.posY);
}
应该发生魔法:
void StartChasing()
{
// Create player 1 and player 2.
Player p1('1', 'a', 'w', 'd', 's', 10, 10);
Player p2('2', 'g', 'y', 'j', 'h', 20, 20);
thread th1(Move, p1);
thread th2(Move, p2);
th1.join();
th2.join();
}
感谢您的任何建议,请原谅我的任何无知错误,因为我不熟悉堆栈溢出的方式。