• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

superdude

Clear screen para uma posição!

4 mensagens neste tópico

Minha duvida é a seguinte estou a tentar fazer um programinha do gênero pacman e e então quando o utilizador pressiona por ex: a tecla4(movimentação para a esquerda), tenho de limpar toda a tela(clrscr;) e voltar a reescrever o mesmo labirinto e a nova posição do caracter, eu queria se fosse possivel saber se não se pode apenas limpar a posição em que o caracter anterior se encontrava e voltar a reescreve-lo na nova sem apagar todo o labinito, e voltar a reescreve-lo com o caracter dito, na nova posição, qualquer coisa do gênero (mas isto não funciona)= clrscr (1,1); "get it?" isto ajudaria-me a poupar muito código agradecia uma ajuda...  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens a função gotoxy(x, y) que coloca o cursor em dada posição no ecrã. Depois é só escrever o novo caracter nessa posição.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Repara era muito chato estar a apagar o que é necessario ... e realmente como tu disseste e bem mais vale apagar a ultima posiçao em que estavas... isso pode ser feito da seguinte logica:

carregas na tecla 4 e anda pra a esquerda , nessa funçao ou procedimento que usas para andar para a esquerda basta escreveres no final da funcao

imagina que utilizas o x e o y para as coordenadas x-> para as colunas e y para as linhas ...

  gotoxy(x-1,y);
  write (" ");
  gotoxy(x,y);

ou seja se andas para a esquerda uma casa tens que apagar, logo colocas o cursor uma casa anterior e escreves por cima com um espaço em braco ...

pro resto das coordenadas é so trocar se for da direita pra esquerda ou vice-versa trocas o x senao, trocas o y ....

lembrate cuidado com o background ... se tiveres uma cor de fundo tens que preencher com espaço  da mesma cor do fundo, isto se nao tiveres a usar o modo graph  :thumbsup:, lembrate que existem 80 colunas e 25 linhas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pela ajuda foi muito útil  ;)(como é que eu não me lembrei disso :wallbash:)....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora