solidbrush net library form example c# .net vb.net graphics console

c# - library - ¿Hay alguna librería de “gráficos” de consola para.Net?



vb net brush (3)

Brah, echa un vistazo a la biblioteca pdcurses o ncurses. Lo estoy usando en Visual C ++ y mientras especifica c #, puede serle de utilidad. Está hecho para juegos de consola y lo estoy usando en varios proyectos. Se eliminará la necesidad de utilizar una devolución de llamada para actualizar la pantalla, ya que podrá mover el carácter (representado como un carácter ASCII) sin actualizar la pantalla.

Mi objetivo básico aquí es escribir un remake .NET de Kingdom of Kroz. Para aquellos que no están familiarizados con el juego:

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

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

Originalmente, se suponía que iba a ser un proyecto de distracción rápida que me proporcionaría un descanso de todos los proyectos de trabajo genéricos de empresa WCF / WF / LINQ2SQL / etc que ocupaban la mayor parte de mi tiempo últimamente. Si bien el resultado de mi esfuerzo es jugable, parece un asno absoluto (incluso para un juego basado en consola) debido a la forma en que estoy redibujando todo en cada cuadro.

Soy consciente de algunos enfoques alternativos, pero en las pruebas breves que he realizado todavía no ofrecen un rendimiento significativo ni beneficios estéticos. No quiero recurrir a una biblioteca que "emule" una consola si puedo evitarlo. Preferiría trabajar con la API de la consola Win32 adecuada bajo el capó, pero no trabajar directamente con ella si puedo evitarlo. Teniendo en cuenta que es claramente un caso de uso de nicho, ¿cuál sería el mejor enfoque generalmente aceptado para esto? ¿Hay alguna técnica de "dibujo" de consola particularmente óptima que se deba conocer? No me importa nadar en un mar de PInvoke y hacer maniobras siempre y cuando todavía tenga una interfaz de usuario de consola rápida, receptiva y eficiente.


Puede probar Curses-Sharp http://sourceforge.net/projects/curses-sharp/ o libtcod https://bitbucket.org/libtcod/libtcod

curses-sharp es un "Un contenedor C # multiplataforma y con múltiples funciones para la biblioteca de control de terminales de curses".

y libtcod es "... una API gratuita, rápida, portátil y sin complicaciones para desarrolladores de roguelike que ofrece una avanzada consola de color verdadero, entradas y muchas otras utilidades que se utilizan con frecuencia en roguelikes".


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

Algunas / muchas de estas funciones podrían necesitar usar P / Invoke, pero deberían hacer lo que usted necesita. Puede escribir en ubicaciones arbitrarias en el búfer y obtener una entrada sin búfer basada en clave. Por lo general, comienza con GetStdHandle () para obtener los manejadores de la "entrada" de entrada y salida de la consola y luego llama a una de las funciones apropiadas de la lista anterior para hacer algo, como WriteConsoleOutputCharacter () o PeekConsoleInput ().

Una vez escribí una biblioteca para crear un sistema de ventanas en proceso utilizando la consola de Windows y el Win32 simple en el proyecto C. Fun, pero no sé dónde está ahora.