1. TugaTech » Programação, Scripts e Webmasters » Programação, Scripts e Webmasters
Siga-nos

Realize o Login na sua conta ou Registe-se para participar.

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

#1Interpretador em C / Battleship puzzle  Empty Interpretador em C / Battleship puzzle - Sex 27 Mar 2015 - 19:31

vitordias07

Utilizador

Boa noite! 

 

Tenho de fazer em linguagem C um interpretador para ler uma série de comandos os quais deverão executar uma acção, alguém conhece algum tutorial ou alguma informações pode onde me possa guiar? 



Este interpretador tem a ver com o battleship puzzle, alguém sabe onde pode arranjar informações ou dicas de como programa-lo em C? 

 



 

Daniel Mendes

Super-membro
Daniel Mendes

Boas @vitordias07,

 

Não sei exatamente o que procuras pois iniciei C# há pouco tempo mas terá alguma coisa a ver com a criação de um puzzle? 

 

Vê se isto te ajuda: http://goo.gl/FsVzyd

 

Forte abraço

http://www.dusttbox.com https://www.facebook.com/www.facebook.com/zerokj skkzero

vitordias07

Utilizador

Peço desculpa por não me ter explicado corretamente. 

O jogo battleship puzzle é um bocado semelhante ao sudoku na estratégia de resolução. Os barcos deverão ser dispostos numa grelha 10x10 e mediante certas informações como o nº de peças de em cada linha e coluna, o utilizador deverá conseguir determinar a posição de cada barco.

 

DJPRMF

Administrador
DJPRMF

Ou seja, basicamente o que pretende é criar o jogo da batalha naval em C, correcto?

Isso parece-me um pouco complicado demais para ser explicado por este meio, se for realmente o que procura. Wink


____________________________________________

Interpretador em C / Battleship puzzle  Tugatechuserbar
Interpretador em C / Battleship puzzle  3
Interpretador em C / Battleship puzzle  2
TugaTech || Host TugaTech
https://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF

vitordias07

Utilizador

Não é criar o jogo propriamente dito, pois este "puzzle" é para um único jogador que terá de descobrir onde estão os barcos mediante algumas informações. 

Mas para tal tenho de programar alguns comandos que ao serem digitados no executável deverão realizar certas acções como por exemplo: "c -  Ler o tabuleiro a partir do standard input" ; "m - m Mostrar o tabuleiro no standard output", a minha dúvida é como é que podia fazer um interpretador para esses comandos

#6Interpretador em C / Battleship puzzle  Empty Re: Interpretador em C / Battleship puzzle - Sáb 28 Mar 2015 - 16:29

Aprendiz

Avançado
Aprendiz

@vitordias07

 

Não deu o padrão de interpretador de comandos nas aulas? Este é conseguido usando um ciclo while com uma condição de saída adequada.

Consideremos que a letra que se tem de escrever para sair é S. Presumo que o objectivo é o jogo começar de imediato...

O padrão de interpretador de comandos corresponde ao seguinte raciocício:

Enquanto o utilizador não pedir para sair {

     //Faz qualquer coisa

}

 

A secção do enquanto é fácil de compreender que será um ciclo, e o mais apropriado a usar é o while. A condição de permanência do ciclo é o utilizador não premir S. Presumo que sabe como usar a função scanf, que é uma das formas de obter o input do utilizador.

 

Sem usar verificações de segurança, o código ficará algo do género:

 

//ler input do utilizador

char c;

scanf("%c",&c);

while(c!='S') {

     //faz qualquer coisa

    scanf("%c",&c);

}

http://goncalotomas.com

#7Interpretador em C / Battleship puzzle  Empty Re: Interpretador em C / Battleship puzzle - Sáb 28 Mar 2015 - 22:40

vitordias07

Utilizador
Então, posso usar o código sugerido para fazer algo como "se o utilizador carregar c o programa apresenta o tabuleiro, se carregar b mostra a solução", isto claro remetendo para outras funções? 



Desde já obrigado pelo ajuda, já foi uma boa indicação Wink

#8Interpretador em C / Battleship puzzle  Empty Re: Interpretador em C / Battleship puzzle - Sáb 28 Mar 2015 - 23:09

Aprendiz

Avançado
Aprendiz

Exactamente! No sítio onde coloquei "//faz qualquer coisa" irá verificar que tecla o utilizador premiu e agir de acordo com essa mesma tecla.

 

Uma nota final e importante: cometi um pequeno erro ao ler input do utilizador. Não estou a ler o "enter" (caracter '\n') que o utilizador poderá carregar para propagar a informação até ao programa. Dessa forma, usar scanf("%c",&c) pode causar problemas, e a forma correcta é scanf("%c\n",&c) se houver uma notação do género "o utilizador usará uma letra seguida de uma quebra de linha, sempre", ou

scanf(" %c\n",&c) para outros casos. Assim, de cada vez que uso a função scanf estou efectivamente a ler o caracter de fim de linha, representado por '\n'.

 

http://goncalotomas.com

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos




Aplicações do TugaTechAplicações TugaTechDiscord do TugaTechDiscord do TugaTechRSS TugaTechRSS do TugaTechSpeedtest TugaTechSpeedtest TugatechHost TugaTechHost TugaTech