Páginas

NIMADRES

Como hacer tu Propio Gotoxy en C++

Me eh dado cuenta de que el editor y compilador turboC es uno de los mas anti-multiplataforma, por lo mismo
esta estrictamente basado para compilar en Windows, bueno si se fijan el Dev-cpp no tiene las mismas herramientas que el turboC, bueno pues una de ellas es el famoso gotoxy!!, aqui les mostrare como hacer tu propio gotoxy.
Para empezar ncesitamos hacer un Proyecto en el Dev-cpp, en ves de guardarlo como console aplication, lo guardas como Static library o simplemente abres un archivo nuevo , despues ingresas este codigo:
#ifndef GOTOXY_H
#define GOTOXY_H
#include <windows.h>

void gotoxy(int x, int y) 
{ 
    HANDLE hCon; 
    COORD dwPos; 
    //Esto es para no tener que compilar en el pinche borlandc o el turboc
    dwPos.X = x; 
    dwPos.Y = y; 
    hCon = GetStdHandle(STD_OUTPUT_HANDLE); 
    SetConsoleCursorPosition(hCon,dwPos); 
}
#endif

Despues lo guardas con la extencion "Gotoxy.h" en la carpeta 
C:\Dev-cpp\include
y ya tienes tu propia libreria para tu maquina!!, como les decia este codigo es meramente para Windows
ya que en Linux si esta mas dificil, bueno si es que se puede porque aun no me ah tocado ver a alguien que lo haga!!.
Para finalizar Les dejo un ejemplo de como pueden empezar a divertirse con su nueva libreria:
#include <iostream>
#include <gotoxy.h>

int main()
{     
    do{
        int x = 0;
        int y = 0;
        
        for(int i = 0; i < 24;++i){
            gotoxy(x++,y++);
            std::cout<<"*";
            system("cls");
            //Sleep(50);
            system("color 0c");
        }
        for(int i = 0; i < 24;++i){
            gotoxy(x++,y--);
            std::cout<<"*";
            system("cls");
            //Sleep(50);
            system("color 0a");
        }
        for(int i = 0; i < 24;++i){
            gotoxy(x++,y++);
            std::cout<<"*";
            system("cls");
            //Sleep(50);
            system("color 0e");
        }
        for(int i = 0; i < 24;++i){
            gotoxy(x--,y--);
            std::cout<<"*";
            system("cls");
            //Sleep(50);
            system("color 0f");
        }
        for(int i = 0; i < 24;++i){
            gotoxy(x--,y++);
            std::cout<<"*";
            system("cls");
            //Sleep(50);
            system("color 0d");
        }
        for(int i = 0; i < 24;++i){
            gotoxy(x--,y--);
            std::cout<<"*";
            system("cls");
            //Sleep(50);
            system("color 0c");
        }
    }
    while(true);
    std::cin.get();
    return 0;
}


2 comentarios:

  1. wey al ejemplo solo debiste quitarle los system("Color")
    de ahi en mas esta bien

    ResponderEliminar
  2. NCurses se llama la biblioteca de linux que tiene lo equivalente al gotoxy y se llama move

    Sin embargo lo que no he logrado encontrar en una biblioteca multiplataforma que haga el gotoxy (que funcione en linux, windows, mac, o lo que sea)

    ResponderEliminar