variable word o dword para dibujar

Iniciado por rulovive, 26 Julio 2015, 00:56 AM

0 Miembros y 1 Visitante están viendo este tema.

rulovive

que tal gente... años sin pasarme por aquí pero sucede que acabo de tener tiempo libre y bueno... al grano:

cuando estaba en la escuela en clase de programación un dia el profe se puso a meter código como loco en su compu y al final dibujo una especie de tablero, con lineas horizontales, verticales y diagonales, y todas de diferente grosor... el caso es que no recuerdo que rayos estaba tecleando y no le puse atención sino hasta que vi el programa en ejecución y lo único que recuerdo es que usaba unas cosas que se llamaban Word o dword para hacer las lineas....

ahora diez años después quiero hacer un juego estilo "turista" y ya puedo usar colores para cada jugador, fichitas y eso pero me parece un poco rustico dibujar el tablero con asterisquitos y que las fichitas sean representadas por caracteres de arroba y asi (cosa que tmb puedo lograr). lo que quiero es ir avanzando en mi aprendizaje al mismo tiempo que me divierto asi que si alguien me pudiera explicar como se hace una línea en diagonal -ojo, una línea literal, no una hecha con muchos asteriscos- se lo agradecería bastante...

no. no tengo nada de código y no se por donde empezar ya que las referencias que encuentro en google son prácticamente nulas...
si alguien pudiera regalarme el código en consola c++ donde se imprima una línea diagonal, una horizontal y una vertical, todas en distinto grosor, me darían las bases para yo empezar a constuir con ellas y hacer mis propios "dibujos"

ivancea96

WORD es como se denomina a un grupo de 2 bytes, que en C con <windows.h> es un tipo de variable eso, de 2 bytes. DWord (Double WORD), son 4 bytes. Y QWORD (Quad WORD), son 8 bytes.

Si qieres tratar la consola como una pantalla para dibujar, querrás moverte por ella. Para ello, usando la WinAPI.

#include <windows.h>

void gotoxy(short x, short y)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE) ;
    COORD position = { x, y } ;
   
    SetConsoleCursorPosition( hStdout, position ) ;
}

Con eso te mueves a una posición, y ya escribes ahí el caracter que quieras. Ahora te toca pensar a ti los algoritmos.

rulovive

Gracias por responder... No crei necesarrio comentarlo pero ya se moverme en la pantalla a donde quiera. De hecho tengo un juego funcional del snake y usa ese mismo codigo que me pusiste ahí :) lo que yo queria mas bien saber es si se puede dibujar con lineas tal cual, de grosor distinto... Osea, me refiero a lineas seguidas que atraviesen la pantalla de un lado a otro, pero que no esten construidas con caracteres. Esto es posible?

ivancea96

La consola trabaja con caracteres. Puedes cambiar el color del fondo, el color de las letras, poner caracteres ASCII que representen líneas: ───┼─┼┬ ...

Pero no más. Si quieres dibujar en una ventana, tendrás que crear tú una ventana para ello, ya sea con WinAPI cruda, o con librerías.

rulovive

Gracias hermano eres idolo.
Tengo algunas otras dudillas sobre temas distintos pero primero voya agotar otras opciones. Buen dia a todos