.Net是否有任何控制台“图形”库?

我的基本目标是编写一个.NET翻拍的Kroz王国。 对于那些不熟悉游戏的人:

http://www.indiefaqs.com/index.php/Kingdom_of_Kroz

http://www.youtube.com/watch?v=cHwlNAFXpIw

最初它应该是一个快速的分心项目,让我从最近占据我大部分时间的所有通用企业WCF / WF / LINQ2SQL /等工作项目中rest一下。 虽然我的努力的结果是可玩的,它看起来像绝对的屁股(即使对于基于控制台的游戏),因为我重绘每个帧中的所有内容的方式。

我知道一些替代方法,但在我做过的简短测试中,他们仍然没有提供显着的性能或美学效益。 如果我可以帮助它,我不想求助于“模拟”控制台的库。 我更喜欢使用适当的Win32控制台API,但如果我可以帮助它,则不能直接使用它。 请记住,这是一个明显的利基用例,对此,“通常”接受的最佳方法是什么? 有没有人应该注意的特别优化的控制台’绘图’技术? 我不介意在PInvoke的海洋游泳和编组,只要它仍然以快速,响应和高效的控制台UI结束。

http://msdn.microsoft.com/en-us/library/ms682073(v=VS.85).aspx

您可能需要使用P / Invoke中的一些/许多function,但它们应该满足您的需要。 您可以在缓冲区中的任意位置写入并获取基于密钥的非缓冲输入。 通常,您从GetStdHandle()开始获取控制台输入和输出“流”的句柄,然后从上面的列表中调用其中一个相应的函数来执行某些操作,例如WriteConsoleOutputCharacter()或PeekConsoleInput()。

我曾经写过一个库,用于在C. Fun项目上使用Windows控制台和普通Win32创建进程内窗口系统,但我不知道它现在在哪里。

您可以尝试Curses-Sharp http://sourceforge.net/projects/curses-sharp/或libtcod https://bitbucket.org/libtcod/libtcod

curses-sharp是一个“function全面,面向对象,多平台的C#封装器,用于curses终端控制库。”

和libtcod是“…一个免费的,快速的,可移植的,简单的roguelike开发人员API,提供先进的真彩色控制台,输入和roguelikes中经常使用的许多其他工具。”

Brah,查看pdcurses或ncurses库。 我在Visual C ++中使用它,当你指定c#时,它可能对你有用。 它是为控制台游戏而制作的,我在几个项目中使用它。 它将消除使用刷新刷新屏幕的需要,因为您可以移动角色(表示为ASCII字符)而无需刷新屏幕。