Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Leber en 9 Noviembre 2011, 13:33 pm



Título: Refrescar el terminal linux[c]
Publicado por: Leber en 9 Noviembre 2011, 13:33 pm
Buenos dias a todos,

Me ha surgido una duda, a ver que tal. Para una especie de juego que he decidido hacer, me he topado con la necesidad de refrescar los objetos durante el mainloop de la partida.
Como no lo estoy haciendo con ninguna libreria, es decir, todo va pintado en la terminal a pelo, no se muy bien como hacer el refresh.
Lo que he pensado es que por cada loop podría que repintar la pantalla en negro, y volver a dibujos los objetos ya con la posicion actual, lo que no se si es una solución elegante.

Que tal lo veis vosotros?

PD: Uso linux por si sirve

Gracias de antemano



Título: Re: Refrescar el terminal linux[c]
Publicado por: do-while en 9 Noviembre 2011, 13:58 pm
¡Buenas!

Alguna vez he hecho algun juego en consola utilizando conio.h de borland para hacer los dibujos utilizando el codigo ASCII (era para windows, no para linux). Esta libreria no te servira pero el principio que utilizaba si. Se trata poder situarte en la posicion que quieras de la pantalla, eliminar el objeto que se mueva, ir a la nueva posicion y redibujarlo alli. Para hacer esto en linux creo que se utiliza ncurses (si me equivoco corregidme). No conozco ncurses, pero seguro que en internet encontraras las funciones que te ofrece con ejemplos para poder utilizarlas.

Si en lugar de utilizar el ASCII para crear los objetos estas utilizando graficos, no se que libreria tienes que usar, pero el principio de posicionarte, eliminar, posicionarte y redibujar lo tendras que aplicar igualmente.

¡Saludos!