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

kripton2007

Trabalhar com 2 janelas sincronizadas

Mensagens Recomendadas

kripton2007

Boas...

Estou a trabalhar num projecto para uma cadeira da faculdade, e tive a ideia de tornar o programa um pouco mais simples aos olhos do utilizador, trabalhando com 2 janelas.

Passo a explicar, o trabalho consiste nhum jogo de tabuleiro, que vai ser feito por enquanto em modo de texto, e assim sendo é necessário introduzir comandos para que possámos jogar e o tabuleiro irá aparecer no seu novo estado imediatamente a seguir desses comandos...

Aquilo que eu queria era ao executar o programa, aparecessem 2 janelas (consolas) onde a 1ª estaria reservada para o input dos comandos e a outra apenas iria mostrar o tabuleiro, actualizando sempre que se introduzisse novo comando.

Acho que me fiz entender +/-, mas se alguém ainda estiver confuso relativamente àquilo que pretendo que diga...

Gostava de saber como posso fazer isto, uma vez que não percebo assim muito de C (dou apenas uns toques, por enquanto!)!

Obrigado  :D

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Convidado

Boas

Eu não sei se é possível fazer tal coisa, mas pq é que desejas 2 consolas. Há uns anos fiz um jogo tipo batalha naval que era dado coordenadas e depois fazia "Refresh"  a janela. Acho que será a melhor opção sem chatices :D

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
_7_up_

Podes sempre por o teu programa "jogo" a receber o input normalmente e a escrever o tabuleiro num ficheiro. Esta seria a primeira linha de comandos.

Na segunda linha de comandos corres um programa q lê o ficheiro criado pelo outro programa e mostra no ecran...

boa sorte

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
_7_up_

Pois podia, mas vai implicar papar muita memoria pois tinha de estar a ler o ficheiro ao segundo não?

Tudo bem pode haver esse problema. Usas Pipes em vez de ficheiros, as funções de read sobre pipes bloqueiam até chegarem dados.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
kripton2007

estou a escrever isto para Unix...

Sinceramente pensava k fosse algo mais simples, mas se complica assim bastante não há necessidade de o fazer, era mesmo só para o programa ter um outro aspecto, nada mais que isso.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pedroserra

Usando pipes não terás muito trabalho.

Pensando na "receita" assim de cabeça:

1- crias o pipe com o comando "mkfifo [nome_do_pipe]" (vai criar-te um "ficheiro" que servirá de meio de comunicação)

2- crias o programa com o tabuleiro e a lógica do jogo que vai mostrar o tabuleiro no ecrã mas em vez de ler comandos da consola, os lê do pipe

3- crias um programa que receba os comandos da consola e os escreva para o pipe

4- escreves um script que inicie os dois processos em janelas distintas

Simples, não? :(


Ah e tal não sei quê...

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.