Ir ao conteúdo

Posts recomendados

Postado

Gostaria de saber como eu consigo saber qual a posição atual do cursor do console(x e y), pois preciso mudar ele e reposicionar no mesmo lugar logo após

  • Curtir 1
Postado

@Relry PeSan

#include <iostream>
#include <Windows.h> // GetCursorPos(), SetCursorPos()

int main()
{
  while (true)
  {
    POINT p;
    // Pega posição do cursor
    GetCursorPos(&p);

    std::cout << p.x << ", " << p.y << std::endl;

    // Define a posição do cursor
    SetCursorPos(100, 100);

    Sleep(1000);
  }

  return 0;
}
  • Curtir 2
Postado
13 minutos atrás, devair1010 disse:

@Gustavo Andretto     esse código posiciona a setinha do windows na posição

certa .  mas como pegar a posição do cursor na tela do console e posicionar

em outra posição que a gente quiser ?

Eu consegui fazer usando o GetConsoleScreenBufferInfo(), pra pegar informações do console como tamanho da tela, posição do cursor. Pra setar o cursor num novo lugar você pode usar SetConsoleCursorPosition()

  • Curtir 1
Postado

@Relry PeSan              valeu pela dica, usei essa função e ela funcionou

bem.   Obrigado.      olha o código que usei para testar :

#include <iostream>
#include <time.h>
#include <windows.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <dos.h>
using namespace std;
int a,b,cc,x1,y1,l,d;
char tcl;
void gotoxy(int x, int y)
{
  COORD c;
  c.X = x;// - 1;
  c.Y = y;// - 1;
  SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}
//int main (int argc, char *argv[])
int main ()
{
    cc=33;l=10;
    srand(time(NULL));
    while(d !=27)// enquanto d diferente de 27 (esc)
    {
       system("cls");             //limpa a tela
       gotoxy(cc,l);              //função que posiciona o cursor em x y
       //system("color fc");
       cout << "O";               //escreve na tela
       //system("color 15");
       if(x1==0){cc=cc+1;}        //verifica se vai para direita
       if(x1==1){cc=cc-1;}        //verifica se vai para esquerda
       if(y1==0){l=l+1;}          //verifica se vai para baixo
       if(y1==1){l=l-1;}          //verifica se vai para cima
       if(cc>79){cc=79;x1=1;printf("\a");}//Beep(2000,70);}
       if(cc<0){cc=0;x1=0;printf("\a");}//Beep(2000,70);}
       if(l>24){l=24;y1=1;printf("\a");}//Beep(2000,70);}
       if(l<0){l=0;y1=0;printf("\a");}//Beep(2000,70);}

       if( kbhit() ){d = getch();}// int para pegar codigo ascii e char para chr$
       gotoxy(20,20);
       printf("Pressione ESC Para Sair %c.",d);
       gotoxy(20,10);
       printf("numeros aleatórios %d.",rand()%60+1);
    }

    return 0;
}

 

  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!