nat*_*ere 23 .net c# vb.net console graphics
我的基本目标是编写一个关于Kroz王国的.NET翻版.对于那些不熟悉游戏的人:
http://www.indiefaqs.com/index.php/Kingdom_of_Kroz
http://www.youtube.com/watch?v=cHwlNAFXpIw
最初它应该是一个快速分心的项目,让我从最近占据我大部分时间的所有通用企业WCF/WF/LINQ2SQL /等工作项目中休息一下.虽然我的努力的结果是可玩的,它看起来像绝对的屁股(即使对于基于控制台的游戏),因为我重绘每个帧中的所有内容的方式.
我知道一些替代方法,但在我做过的简短测试中,他们仍然没有提供显着的性能或美学效益.如果我可以提供帮助,我不想诉诸"模拟"控制台的库.我更喜欢使用适当的Win32控制台API,但如果我可以帮助它,不要直接使用它.请记住,这是一个明显的利基用例,对于这种情况,"通常"接受的最佳方法是什么?是否应该注意特别优化的控制台"绘图"技术?我不介意在PInvoke的海洋游泳和编组,只要它仍然以快速,响应和高效的控制台UI结束.
Vil*_*ili 13
您可以尝试Curses-Sharp http://sourceforge.net/projects/curses-sharp/或libtcod https://bitbucket.org/libtcod/libtcod
curses-sharp是一个"功能全面,面向对象,多平台的C#封装器,用于curses终端控制库."
和libtcod是"...一个免费的,快速的,可移植的,简单的roguelike开发人员API,提供先进的真彩色控制台,输入和roguelike中经常使用的许多其他工具."
http://msdn.microsoft.com/en-us/library/ms682073(v=VS.85).aspx
您可能需要使用P/Invoke中的一些/许多功能,但它们应该满足您的需要.您可以在缓冲区中的任意位置写入并获取基于密钥的非缓冲输入.通常,您从GetStdHandle()开始获取控制台输入和输出"流"的句柄,然后从上面的列表中调用其中一个相应的函数来执行某些操作,例如WriteConsoleOutputCharacter()或PeekConsoleInput().
我曾经写过一个库,用于在C. Fun项目上使用Windows控制台和普通Win32创建进程内窗口系统,但我不知道它现在在哪里.