gpt4 book ai didi

c - 在不同窗口中并行执行curses...(使用ncurses)

转载 作者:行者123 更新时间:2023-11-30 17:54:56 25 4
gpt4 key购买 nike

我一直在尝试在终端上使用ncurses库创建pong游戏。我已经成功为两位玩家创建了两个栏。问题是,当两个玩家按下相应的键时,只有一个玩家在移动。

所以,我在网上搜索,发现我们可以使用窗口,其中我们可以为每个窗口设置逻辑光标,从而并行执行玩家的命令。我的程序的代码片段如下所示:

pthread_t player_1, player_2;
pthread_create(&player_1, NULL, (void*)&player_1_move, (void*)pl_window);
pthread_create(&player_2, NULL, (void*)&player_2_move, (void*)p2_window);

while(1)
{
char c=getch();
if(key is from p1)
//signal player_1 thread to refresh the bar position

if(key is from p2)
//refresh it for player_2 by signaling 2nd thread..

}
//here player_1_move and player_2_move are the functions for changing the bar position for each of the players..I have created two windows in which i draw these bars, which i haven't shown in my code..

问题是,虽然我使用 pthreads,但当两个玩家同时按下时,我仍然看不到两者同时移动。

有什么建议请...

最佳答案

正如克雷格所说...当同时按下 2 个键时,终端不会处理。它会选择其中任何一个..这正是问题所在。即使使用pthreads也无法解决。

关于c - 在不同窗口中并行执行curses...(使用ncurses),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14669443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com