Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

.EXO

tabuleiros

Mensagens Recomendadas

.EXO

eu tenho um progama que carrega um tabuleiro de n por n elementos. eu gostava de saber como é que faço para quando carregar um tabuleiro ele aparecer com cores.

tipo... carrego e os elementos têm fundo de cor branca e quando seleciono ficam de cor preta por exemplo.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pwseo

Primeiro precisas de arranjar suporte para cores no terminal, e isso depende do sistema operativo que estás a utilizar. Eu estou em linux, por isso utilizaria o ncurses (que além de suporte para cores, traz outras coisas boas, googla por ele).

Depois tens que definir uma função para mostrar o tabuleiro, e também tens que interceptar as teclas de direcção (pressupondo que a selecção é feita através do teclado).

Ao carregares nas teclas, o programa tem que saber qual o item actualmente seleccionado e, com base na tecla pressionada, tem que actualizar o estado dos itens de forma a que o novo item esteja seleccionado e o anterior já não esteja (com um simples bool ou até mesmo um int consegues isto).

E finalmente, de cada vez que uma tecla de direcção é pressionada tens que redesenhar os itens um a um, para que a nova selecção seja apresentada (ou se quiseres ser mais eficiente, redesenhas apenas o novo item seleccionado e o anteriormente seleccionado).

O que estás a pedir não é propriamente trivial, por isso sugiro-te que investigues um pouco sobre o assunto... não sei como é em Windows, mas penso que a lib pdcurses funcionava e é compatível com ncurses (o código ficaria praticamente igual, senão mesmo mesmo igual).

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.