gpt4 book ai didi

C - Ncurses - 如何阻止光标越过墙壁(由一堆字符组成的墙壁)

转载 作者:太空宇宙 更新时间:2023-11-03 23:49:22 24 4
gpt4 key购买 nike

是否有可用的方法或功能可以阻止我检查字符。迷宫如下所示。我实际上不使用 printf,而是使用 mvprint。我只是在下面使用 printf 作为示例。

printf("xxxxxx x");
printf("xxxxxx x");
printf("xxxxxx x");
printf("x x");
printf("x xxxxxx");
printf("x xxxxxx");

我试过下面这段代码,但它似乎不起作用。光标仍然越过 x 个字符。在代码的第三行,您可以看到我已经说过,如果那里有一个字符“f”,它是由上面看到的一堆 printf 语句创建的,则光标不应移动。这似乎不起作用。

if(m == 's')
{
if((oldy+1,x)=='x') // This is the part of the code where i say that if the next spot is an 'x' dont move.
{
mvprint(win, 10,0,"Sorry, you cant move there.");
refresh(win);
}
else
{
move((y= oldy+1),x);
refresh();
oldy = y;
}
}

最佳答案

经过一些研究,我认为您希望自己的内在状态是:

if(mvinch(oldy+1,x) == 'x')

mvinch(y,x) 函数移动并返回该位置的字符。

此外,正如其他人所提到的,混合使用标准 I/O 和 Curses 充其量是不可靠的。当我在我的机器上尝试类似的东西进行测试时,我的程序告诉我整个屏幕都是由空格组成的。

关于C - Ncurses - 如何阻止光标越过墙壁(由一堆字符组成的墙壁),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24654020/

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