是否有可用的方法或功能可以阻止我查看角色。迷宫如下所示。我其实不使用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;
}
}
答案 0 :(得分:1)
经过一些研究,我认为你想要你的内在条件:
if(mvinch(oldy+1,x) == 'x')
mvinch(y,x)
函数移动并返回该位置的字符。
另外,正如其他人提到的那样,混合标准I / O和Curses充其量是不可靠的。当我在我的机器上尝试这样的东西进行测试时,我的程序告诉我整个屏幕都是由空格组成的。