Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - cin.get();

#1
Windows / [Ayuda][C++] Cargar BMP en Windows
30 Enero 2014, 17:07 PM
Hola amigos, espero y me puedan ayudar.

Estoy buscando alguna función de la librería "windows.h" que me ayude a cargar bitmaps en una ventana he leído un poco y he encontrado algo sobre una función llamada LoadImage() la he usado pero sólo me deja cargar una imagen y ni si quiera la he logrado imprimir en la posición que yo quiera.

Es decir quiero crear algo como esto:

Código (cpp) [Seleccionar]
void ImagenCarga(char* nombre, int x, int y)

Tengo entendido que con HWND se declara la ventana y con HBITMAP el interior de la ventana en el que se puede dibujar. Encontré esto por internet:

Código (cpp) [Seleccionar]
hBitmap = (HBITMAP)LoadImage(NULL,"imagen.bmp", IMAGE_BITMAP,0,0, LR_LOADFROMFILE);

Pero como digo, quisiera poder cargar tantos bmps como quiera y en la posición que yo desee.

Disculpen si me enredé un poco pero espero y me puedan ayudar. más que nada la quiero para desarrollar pequeños videojuegos. Saludos y gracias
#2
Hola amigos, espero y me puedan ayudar.

Estoy buscando alguna función de la librería "windows.h" que me ayude a cargar bitmaps en una ventana he leído un poco y he encontrado algo sobre una función llamada LoadImage() la he usado pero sólo me deja cargar una imagen y ni si quiera la he logrado imprimir en la posición que yo quiera.

Es decir quiero crear algo como esto:

Código (cpp) [Seleccionar]
void ImagenCarga(char* nombre, int x, int y)

Tengo entendido que con HWND se declara la ventana y con HBITMAP el interior de la ventana en el que se puede dibujar. Encontré esto por internet:

Código (cpp) [Seleccionar]
hBitmap = (HBITMAP)LoadImage(NULL,"imagen.bmp", IMAGE_BITMAP,0,0, LR_LOADFROMFILE);

Pero como digo, quisiera poder cargar tantos bmps como quiera y en la posición que yo desee.

Disculpen si me enredé un poco pero espero y me puedan ayudar. más que nada la quiero para desarrollar pequeños videojuegos. Saludos y gracias
#3
Hola amigos, pues les cuento que ya tengo algo de tiempo en C/C++, de hecho tengo un blog con cursos del mismo (http://mibean.blogspot.mx/p/programacion.html).

He intentado miles de formas y un poco más para llevar mis aplicaciones a modo gráfico, con qt, gtk, wxwidget, desde las mismas X11 en Linux, y desde la windows.h en Windows.

Siempre he descargado documentación y códigos de ejemplo, pero muchas veces ni los códigos de la documentación me funcionan, con esto no quiero decir que estén mal, si no que no especifican ni en que versión funciona.

Me dirijo a ustedes para hacerles la siguiente consulta. ¿Cuál consideran ustedes la mejor forma de llevar aplicaciones en C/C++ a modo gráfico? Tomando en cuenta criterios personales como: Velocidad, estabilidad, portabilidad, simplicidad, ...dad, etc.

Espero y me puedan ayudar, gracias de antemano y saludos!
#4
Hola, pues resulta que quiero empezar en el tema de seguridad. Y pues  quisiera  saber como puedo infectar un ejecutable.

Por ejemplo un hello world en c++, y que antes o después del hello world haga otra acción, para pruebas algo como "el archivo se  ha infectado".

Muchas gracias
#5
Después de esperar más o menos una semana y de la desaparición del foro, he terminado la primera versión de MBShooter2D, esta versión será nombrada MBShooter2D-Dev, ya que por el momento no es algo lo suficientemente completo como para jugar.



MBShooter2D-Dev es un pequeño videojuego desarrollado totalmente en C/C++ para las plataformas Windows y Linux bajo la librería miniwin como motor gráfico. Por el momento el juego es demasiado simple, son sólo dibujitos simples y un sólo mapa, no se dispone de menú principal ni nada, pero es un buen inicio.

El desarrollo de esta versión me tomó aproximadamente 30 horas, ya que desde hace poco más de una semana se empezó a desarrollar y trabajé más o menos 4 horas al día en su desarrollo.

Si bien es verdad que el juego aún es muy simple como para tanto tiempo de desarrollo, la verdad es que me lleve mucho tiempo testeandolo y probandolo con detenimiento, de hecho reescribí el código dos veces para darle una mejor estructura y entendimiento sin necesidad de comentarlo tanto.

Características
El juego se basa principalmente en pequeños triángulos que giran y se desplazan al rededor de un mapa (matriz de datos) en la cual existen algunos bloques (guardados como X en la matriz) por los cuales no es posible atravesar. Cada enemigo es de un color diferente y se desplaza libremente por el mapa. La única manera de harte daño es que lleguen hasta tu posición y te choquen, de esta manera, perderás un punto de vida y el enemigo desaparecerá.



Nosotros tenemos la posibilidad de lanzar balas presionando la tecla espacio, estas balas se van almacenando en la matriz de datos, aunque con mucho esfuerzo he logrado que no lo parezca y que no queden rastros de ellas.

El personaje principal (nosotros) somos un triangulo que se encuentra en medio de la ventana, nos desplazamos con las típicas flechas del teclado.

Actualmente existe una versión para Windows y una para Linux, ambas funcionan exactamente igual.



Próximos objetivos
> Menú principal y tener distintos modos de juego.
> Motor cargador de imágenes para poder usar texturas.
> Contador de puntos.
> Función online compatible con Windows y Linux.

¿Cómo ayudar o formar parte?
> Hacer más conocido el proyecto compartiendo información del mismo en distintas fuentes.
> Probar el videojuego y hacernos saber errores.
> Ayudar al desarrollo del mismo.
> Dando ideas nuevas para el juego, de preferencia, si eres programador, adelantar la idea con un poco de código.

Hilo Oficial
Desgraciadamente el host en el que estaba alojado nuestro foro fue eliminado por razones extrañas, lo reporté pero no obtuve respuesta en el soporte gratuito. Así que para facilitar un poco las cosas me dispuse a crear un hilo oficial y publicar nuevas noticias en mibean.

Hilo oficial: http://foro.elhacker.net/programacion_cc/proyecto_mbshooter2d_videojuego_para_linux_y_windows-t403221.0.html
Mibean: www.mibean.blogspot.com.

Descargar
Para Windows: https://www.dropbox.com/s/n82oo1737b46rao/MBShooter2D-win32.zip?m=
Para Linux: https://www.dropbox.com/s/t6ytkao42aynbk8/MBShooter2D-unix.zip




Motor cargador de imágenes
Por el momento esto es lo único que quiero lograr, para quitar esos dibujitos feos y hacer un poco más atractivo el juego, además de el motor cargador de imágenes necesitamos las texturas, si alguien quiere hacer un paquete de texturas que sea con dimensiones 32x32.
#6
Programación C/C++ / Ayuda - Crear un chat en C++
11 Septiembre 2013, 16:50 PM
Hola a todos, pues aquí con un nuevo proyecto en mente pero poca información para hacerlo.

Tengo pensado hacer un pequeño chat en C++, que sea simple, tengo pensado algo más o menos así.

Al abrirlo que pregunte si va a ser cliente o servidor. Posteriormente indicar un nickname, y empezar a escribir, que sea un chat grupal, lo que se me ocurre es que todo esto se guarde en un archivo como notas, con el nick de la persona y luego su mensaje, y ya que en el programa simplemente tenga un botón de actualizar para ver los nuevos mensajes, no me importa interfaz gráfica por el momento.

Tienen alguna idea o código para algo parecido. Gracias de antemano. Saludos!
#7
Hola a todos, sé que este tema no tiene nada que ver con la categoría, pero simplemente lo publico por que a partir de hoy viviré en esta categoría. Compartiré conocimientos, ayudaré y también espero que me ayuden XD

Me presentaré un poco. Soy desarrollador Freelance, tengo 16 años (el 13 de septiembre cumplo 17). Me apasiona la tecnología, hardware, software, uso software libre, y los videojuegos no me gustan mucho.

Desarrollo mayormente en C/C++ y de hecho se puede decir que son los únicos lenguajes que domino bien, ya que he aprendido otros, pero no me han terminado convenciendo y los olvido. Tengo aproximadamente 2 años con C/C++.

Lo poco o mucho que sé me gusta compartirlo y mi blog es: http://www.codigo-hack.tk/

Como dije, espero poder compartir conocimientos, ayudar y que me ayuden. Saludos!
#8
Hola! esto ya lo había publicado pero cuando apenas estaba en sus inicios para pedir ayuda, ahora, gracias a su apoyo, regreso compartiendo la nueva versión y algunos ejemplos.


Versión 2.0.1

Minihack es una mini-librería para el desarrollo de software en C++. Su objetivo principal es brindar nuevas y mejores herramientas para el desarrollo de aplicaciones que funcionan desde terminal (sin entorno gráfico) en linux, además de obtener un código más legible, intentado hacer que los códigos sean más parecidos al pseudocódigo.

JUEGO DE NAVES
[youtube=640,360]http://www.youtube.com/watch?v=TTzGDnc3NuA[/youtube]
JUEGO DE SNAKE
[youtube=640,360]http://www.youtube.com/watch?v=3jg1MIysIgQ[/youtube]

Librería:
MiniHack 2.0.1
Documentación:
Da clic para ver la documentación

Descargar ejemplos:
http://www.codigo-hack.tk/p/libreria-minihack.html

Características
Minihack se basa principalmente en las siguientes características:

Claridad. Existen gran cantidad de utilidades para ayudar a el desarrollo de software, la mayoría de estos paquetes ayudan a facilitar el desarrollo de algunas funciones, pero el código queda algo extenso y difícil de entender. Minihack intenta obtener las mejores funciones con la mayor simplicidad y funcionalidad.

Eficiencia. Otro punto importante a tomar en cuenta es la eficiencia, no sólo lograr que el software haga lo que se quiere si no también que el desarrollo del mismo sea en el menor tiempo.

Portabilidad. Para un desarrollador resulta más fácil crear un programa multiplataforma, que ese mismo código que escribe para Linux sirva para los demás sistemas, cosa que minihack domina, el código escrito funciona muy bien en diferentes sistemas.

Velocidad. Cuando nos referimos a velocidad, no sólo es en el desarrollo del programa, si no que el ejecutable funcione a una buena velocidad y de manera estable.

¿Cómo funciona?
Para pintar en la ventana hay que utilizar las acciones Draw, luego invocamos Window.Refresh(). Todo lo que se pinta primero se almacena en un buffer y posteriormente con la acción Window.Refresh() se hace visible en la ventana lo que se haya pintado. La ventaja principal es que si se desean pintar varias cosas solo es necesario refrescar una vez, y con esto se mejora la velocidad del programa.

Estos y más proyectos en:


Versiones anteriores
MiniHack 2.0
MiniHack 1.2
MiniHack 1.1
MiniHack 1.0

Versiones alpha
Las versiones aquí listadas fueron simples pruebas para desarrollar una versión estable y no son compatibles con nuevas versiones, por lo que no se recomienda su uso, sólo se dejan aquí como historial de versiones.

Minihack 0.6
Minihack 0.5b
#9
Hola! esto ya lo había publicado pero cuando apenas estaba en sus inicios para pedir ayuda, ahora, gracias a su apoyo, regreso compartiendo la nueva versión y algunos ejemplos.


Versión 2.0.1

Minihack es una mini-librería para el desarrollo de software en C++. Su objetivo principal es brindar nuevas y mejores herramientas para el desarrollo de aplicaciones que funcionan desde terminal (sin entorno gráfico) en linux, además de obtener un código más legible, intentado hacer que los códigos sean más parecidos al pseudocódigo.

JUEGO DE NAVES
[youtube=640,360]http://www.youtube.com/watch?v=TTzGDnc3NuA[/youtube]
JUEGO DE SNAKE
[youtube=640,360]http://www.youtube.com/watch?v=3jg1MIysIgQ[/youtube]

Librería:
MiniHack 2.0.1
Documentación:
Da clic para ver la documentación

Descargar ejemplos:
http://www.codigo-hack.tk/p/libreria-minihack.html

Características
Minihack se basa principalmente en las siguientes características:

Claridad. Existen gran cantidad de utilidades para ayudar a el desarrollo de software, la mayoría de estos paquetes ayudan a facilitar el desarrollo de algunas funciones, pero el código queda algo extenso y difícil de entender. Minihack intenta obtener las mejores funciones con la mayor simplicidad y funcionalidad.

Eficiencia. Otro punto importante a tomar en cuenta es la eficiencia, no sólo lograr que el software haga lo que se quiere si no también que el desarrollo del mismo sea en el menor tiempo.

Portabilidad. Para un desarrollador resulta más fácil crear un programa multiplataforma, que ese mismo código que escribe para Linux sirva para los demás sistemas, cosa que minihack domina, el código escrito funciona muy bien en diferentes sistemas.

Velocidad. Cuando nos referimos a velocidad, no sólo es en el desarrollo del programa, si no que el ejecutable funcione a una buena velocidad y de manera estable.

¿Cómo funciona?
Para pintar en la ventana hay que utilizar las acciones Draw, luego invocamos Window.Refresh(). Todo lo que se pinta primero se almacena en un buffer y posteriormente con la acción Window.Refresh() se hace visible en la ventana lo que se haya pintado. La ventaja principal es que si se desean pintar varias cosas solo es necesario refrescar una vez, y con esto se mejora la velocidad del programa.

Estos y más proyectos en:


Versiones anteriores
MiniHack 2.0
MiniHack 1.2
MiniHack 1.1
MiniHack 1.0

Versiones alpha
Las versiones aquí listadas fueron simples pruebas para desarrollar una versión estable y no son compatibles con nuevas versiones, por lo que no se recomienda su uso, sólo se dejan aquí como historial de versiones.

Minihack 0.6
Minihack 0.5b
#10
Hola! esto ya lo había publicado pero cuando apenas estaba en sus inicios para pedir ayuda, ahora, gracias a su apoyo, regreso compartiendo la nueva versión y algunos ejemplos.


Versión 2.0.1

Minihack es una mini-librería para el desarrollo de software en C++. Su objetivo principal es brindar nuevas y mejores herramientas para el desarrollo de aplicaciones que funcionan desde terminal (sin entorno gráfico) en linux, además de obtener un código más legible, intentado hacer que los códigos sean más parecidos al pseudocódigo.

JUEGO DE NAVES
[youtube=640,360]http://www.youtube.com/watch?v=TTzGDnc3NuA[/youtube]
JUEGO DE SNAKE
[youtube=640,360]http://www.youtube.com/watch?v=3jg1MIysIgQ[/youtube]

Librería:
MiniHack 2.0.1
Documentación:
Da clic para ver la documentación

Descargar ejemplos:
http://www.codigo-hack.tk/p/libreria-minihack.html

Características
Minihack se basa principalmente en las siguientes características:

Claridad. Existen gran cantidad de utilidades para ayudar a el desarrollo de software, la mayoría de estos paquetes ayudan a facilitar el desarrollo de algunas funciones, pero el código queda algo extenso y difícil de entender. Minihack intenta obtener las mejores funciones con la mayor simplicidad y funcionalidad.

Eficiencia. Otro punto importante a tomar en cuenta es la eficiencia, no sólo lograr que el software haga lo que se quiere si no también que el desarrollo del mismo sea en el menor tiempo.

Portabilidad. Para un desarrollador resulta más fácil crear un programa multiplataforma, que ese mismo código que escribe para Linux sirva para los demás sistemas, cosa que minihack domina, el código escrito funciona muy bien en diferentes sistemas.

Velocidad. Cuando nos referimos a velocidad, no sólo es en el desarrollo del programa, si no que el ejecutable funcione a una buena velocidad y de manera estable.

¿Cómo funciona?
Para pintar en la ventana hay que utilizar las acciones Draw, luego invocamos Window.Refresh(). Todo lo que se pinta primero se almacena en un buffer y posteriormente con la acción Window.Refresh() se hace visible en la ventana lo que se haya pintado. La ventaja principal es que si se desean pintar varias cosas solo es necesario refrescar una vez, y con esto se mejora la velocidad del programa.

Estos y más proyectos en:


Versiones anteriores
MiniHack 2.0
MiniHack 1.2
MiniHack 1.1
MiniHack 1.0

Versiones alpha
Las versiones aquí listadas fueron simples pruebas para desarrollar una versión estable y no son compatibles con nuevas versiones, por lo que no se recomienda su uso, sólo se dejan aquí como historial de versiones.

Minihack 0.6
Minihack 0.5b
#11

Versión 1.1
Hola a todos! hace unos minutos acabo de agregar algunos nuevos elementos a la librería que he estado desarrollando con herramientas para la programación en C++.

[size=12]Minihack es una mini-librería para el desarrollo de software en C++. Su objetivo principal es brindar nuevas y mejores herramientas para el desarrollo de aplicaciones que funcionan desde terminal (sin entorno gráfico), además de intentar obtener un código multiplataforma, por lo que si escribes un programa para Linux con esta librería funcionará de la misma manera en Windows o cualquier otro sistema.

Descargar (Librería y Documentación):
MiniHack 1.1

Características
Minihack se basa principalmente en las siguientes características:

Claridad. Existen gran cantidad de utilidades para ayudar a el desarrollo de software, la mayoría de estos paquetes ayudan a facilitar el desarrollo de algunas funciones, pero el código queda algo extenso y difícil de entender. Minihack intenta obtener las mejores funciones con la mayor simplicidad y funcionalidad.

Eficiencia. Otro punto importante a tomar en cuenta es la eficiencia, no sólo lograr que el software haga lo que se quiere si no también que el desarrollo del mismo sea en el menor tiempo.

Portabilidad. Para un desarrollador resulta más fácil crear un programa multiplataforma, que ese mismo código que escribe para Linux sirva para los demás sistemas, cosa que minihack domina, el código escrito funciona muy bien en diferentes sistemas.

Velocidad. Cuando nos referimos a velocidad, no sólo es en el desarrollo del programa, si no que el ejecutable funcione a una buena velocidad y de manera estable.

Cambios en esta versión
> Tamaño de ventana corregido, 79, 23 en matriz
> Window.RetWide() corregido, ahora retorna 78
> Window.RetHeight() corregido, ahora retorna 22
> Sleep.KeyPress() nuevo, espera presión de una tecla
> Window.DrawPoint() modificado, ahora pinta "*"
> Clase Convert nuevo, convierte tipos de variable
> Convert.IntString() nuevo, convierte int a string


¿Cómo funciona?
Para pintar en la ventana hay que utilizar las acciones Draw, luego invocamos Window.Refresh(). Todo lo que se pinta primero se almacena en un buffer y posteriormente con la acción Window.Refresh() se hace visible en la ventana lo que se haya pintado. La ventaja principal es que si se desean pintar varias cosas solo es necesario refrescar una vez, y con esto se mejora la velocidad del programa.


Versiones anteriores
MiniHack 1.0

Versiones alpha
Las versiones aquí listadas fueron simples pruebas para desarrollar una versión estable y no son compatibles con nuevas versiones, por lo que no se recomienda su uso, sólo se dejan aquí como historial de versiones.

Minihack 0.6
Minihack 0.5b

#12

Versión 1.0

Minihack es una mini-librería para el desarrollo de software en C++. Su objetivo principal es brindar nuevas y mejores herramientas para el desarrollo de aplicaciones que funcionan desde terminal (sin entorno gráfico), además de intentar obtener un código multiplataforma, por lo que si escribes un programa para Linux con esta librería funcionará de la misma manera en Windows o cualquier otro sistema.

Descargar:
MiniHack 1.0

Características
Minihack se basa principalmente en las siguientes características:

Claridad. Existen gran cantidad de utilidades para ayudar a el desarrollo de software, la mayoría de estos paquetes ayudan a facilitar el desarrollo de algunas funciones, pero el código queda algo extenso y difícil de entender. Minihack intenta obtener las mejores funciones con la mayor simplicidad y funcionalidad.

Eficiencia. Otro punto importante a tomar en cuenta es la eficiencia, no sólo lograr que el software haga lo que se quiere si no también que el desarrollo del mismo sea en el menor tiempo.

Portabilidad. Para un desarrollador resulta más fácil crear un programa multiplataforma, que ese mismo código que escribe para Linux sirva para los demás sistemas, cosa que minihack domina, el código escrito funciona muy bien en diferentes sistemas.

Velocidad. Cuando nos referimos a velocidad, no sólo es en el desarrollo del programa, si no que el ejecutable funcione a una buena velocidad y de manera estable.

¿Cómo funciona?
Para pintar en la ventana hay que utilizar las acciones Draw, luego invocamos Window.Refresh(). Todo lo que se pinta primero se almacena en un buffer y posteriormente con la acción Window.Refresh() se hace visible en la ventana lo que se haya pintado. La ventaja principal es que si se desean pintar varias cosas solo es necesario refrescar una vez, y con esto se mejora la velocidad del programa.

Funciones
A continuación se explica el objetivo de cada función que integra minihack en sus diferentes clases.

Nota: para usar alguna función el comando debe llevar la siguiente estructura: Clase.Comando();

Window
En esta clase se encuentra todo lo relacionado con lo visible en pantalla.

bool Dirty()
Regresa un valor true o false indicando si la ventana está sucia.

void Clean()
Limpia el bufer en donde se almacena lo pintado.

void Refresh()
Muestra en pantalla el contenido del bufer.

int RetWide()
Regresa un valor indicando lo ancho de la pantalla.

int RetHeight()
Regresa un valor indicando lo alto de la pantalla.

void DrawPoint(int x, int y)
Pinta un punto en pantalla.

void DrawText(int x, int y, string text)
Pinta un texto en pantalla.

void DrawCharacter(int x, int y, char chr)
Pinta una letra en pantalla.

Sleep
Clase con funciones para detener el programa un cierto tiempo.

void Seg(int seg)
Detiene el programa una cantidad de segundos.

void Micro(int micro)
Detiene el programa una cantidad de microsegundos.

Rand
Clase con funciones para dar valores aleatorios.

void NewSeed()
Cambia la semilla de valores aleatorios.

int GetRandom(int min, int max)
Regresa un valor aleatorio entre un número mínimo y un máximo.

Key
Clase con funciones para detectar lo que sucede en el teclado.

bool Press()
Regresa un valor true o false indicando si se ha presionado una tecla.

int Get()
Lee la tecla presionada sin necesidad de presionar enter o pausar el programa.

Nota: si el contenido en ventana no se muestra de la forma correcta, deberás cambiar en la librería minihack los valores ancho y alto que representan el tamaño de la ventana.
#13
Nueva versión: http://foro.elhacker.net/programacion_cc/herramientas_para_c_libreria_minihack_10-t394454.0.html


Hola a todos, aquí les presento una librería que estoy desarrollando desde Linux, aunque luego probaré la probaré en Windows ;)


MINIHACK es una mini-librería para las plataformas Windows y Linux con múltiples herramientas para el desarrollo de software en el lenguaje de programación C++.

En un principio el objetivo era desarrollar una alternativa a la librería conio.h la cual incluyen algunos compiladores de C/C++ para Windows.

Actualmente contiene herramientas muy simples para el desarrollo de software sin entorno gráfico, ofreciendo una filosofía y estructura totalmente diferente la cual facilita el desarrollo de software, además de que el desarrollo será mucho más rápido.
Si bien existen más y mejores alternativas que ofrecen poder hacer un entorno más amigable con el usuario, algunas veces el proyecto a realizar es muy simple como para usar esos paquetes.

Novedades de la última versión

   Se define la dirección de las siguientes teclas: ARRIBA, ABAJO, IZQUIERDA, DERECHA y ESCAPE.
   La función vgetch() ahora detecta si se ha pulsado tecla antes de intentarla obtenerla. Logrando así no pausar el programa esperando que se pulse una tecla. (Recordar que no se necesita dar enter).
   Función vkbhit(). Retorna true si se ha presionado una tecla.


Características
Minihack se basa principalmente en las siguientes características:

Claridad. Existen gran cantidad de utilidades para ayudar a el desarrollo de software, la mayoría de estos paquetes ayudan a facilitar el desarrollo de algunas funciones, pero el código queda algo extenso y difícil de entender. Minihack intenta obtener las mejores funciones con la mayor simplicidad y funcionalidad.
Eficiencia. Otro punto importante a tomar en cuenta es la eficiencia, no sólo lograr que el software haga lo que se quiere si no también que el desarrollo del mismo sea en el menor tiempo.
Portabilidad. Para un desarrollador resulta más fácil crear un programa multiplataforma, que ese mismo código que escribe para Linux sirva para los demás sistemas, cosa que minihack domina, el código escrito funciona muy bien en diferentes sistemas.
Velocidad. Cuando nos referimos a velocidad, no sólo es en el desarrollo del programa, si no que el ejecutable funcione a una buena velocidad y de manera estable.

¿Cómo funciona?
Minihack funciona de la siguiente manera, todo lo que se quiera pintar en pantalla, ya sea un rectángulo u otro elemento se almacena en una matriz de caracteres, luego de pintar lo que se quiera, es necesario llamar a la función vrefresca() para mostrar en pantalla todo lo que se ha pintado, para borrar toda esta matriz de caracteres simplemente se llama a la función vlimpia().

Nota: si el contenido en ventana no se muestra de la forma correcta, deberás cambiar en la librería minihack los valores vancho y valto que representan el tamaño de la ventana.


Funciones
A continuación se explica con claridad cada función de la librería.

void vlimpia()

   Limpia nuestra ventana para imprimir nuevos objetos.

void vrefresca()

   Luego de situar objetos en nuestro programa hay que mostrarlos, esta función los muestra.

bool vsucia()

   Regresa un valor true o false indicando si hay objetos en nuestra ventana.

void vpunto(int x, int y)

   Dibuja un simple punto.

void vrectangulo(int x1, int y1, int x2, int y2)

   Dibuja el marco de un rectángulo en las coordenadas indicadas.

void vrectangulo_lleno(int x1, int y1, int x2, int y2)

   Dibuja un rectángulo relleno en las coordenadas indicadas.

void vstring(int x, int y, string texto)

   Dibuja texto en las coordenadas indicadas.

void vgetch()   ¡Actualizado!

   Lee una tecla del teclado sin la necesidad de presionar la tecla enter (parecido a getch).

void vespera_seg(int seg)

   Detiene el programa una cantidad de segundos determinados.

void vespera_micro(int micro)

   Detiene el programa una cantidad de microsegundos determinados.

int vrand(int num_min, int num_max)

   Regresa un valor aleatorio entre un número mínimo y un número máximo.

void vrand_s()

   Cambia la semilla aleatoria, se recomienda llamar esta función al inicio de los programas que usen la función vrand.


int vkbhit() ¡Nuevo!

   Retorna true si se ha presionado una tecla.

Teclas
Minihack tiene definidas las direcciónes de presión de las siguientes teclas:
ESCAPE, ARRIBA, ABAJO, IZQUIERDA, DERECHA

Basta con escribir el nombre de alguna tecla anterior en mayúscula y listo.


IMPORTANTE: Para no poner tantos links en este post, mejor les dejo la web oficial del proyecto, donde también existen cursos, y un foro.
http://www.codigo-hack.tk/p/libreria-minihack.html