我知道如何设置光标到控制台中的特定点设置光标位置 or 光标向左 and 光标顶部一起。那不是问题。
But,我怎样才能得到该点的值?难道没有类似的东西吗控制台.光标?那么我可以得到那个位置的角色吗?也许是这样的:
char c = Console.GetCharAtCursor();
No luck?
AFAIK,您必须将整个控制台缓冲区作为二维缓冲区读取,并使用光标的 X 和 Y 坐标作为该缓冲区的索引。看:
[DllImport("kernel32.dll", CharSet=CharSet.Unicode, SetLastError=true)]
public static extern bool GetConsoleScreenBufferInfo(
IntPtr consoleHandle,
out CONSOLE_SCREEN_BUFFER_INFO consoleScreenBufferInfo);
您可以在此处阅读有关缓冲区结构的信息:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682093(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/ms682093(v=vs.85).aspx
Update:
如果您有兴趣使用控制台 API 来编写游戏,有人为控制台编写了《太空入侵者》(实际上是 powershell),但所有 API 都是托管代码,而不是脚本。他有精灵/路径例程等 - 来源已结束http://ps1.soapyfrog.com/2007/08/26/grrr-source-code-include-invaders/ http://ps1.soapyfrog.com/2007/08/26/grrr-source-code-including-invaders/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)