FórumGdH

Página Inicial do Guia do Hardware

Registrar FAQ Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Voltar   FórumGdH > Profissional > Programação, scripts, web e banco de dados
Bem-vindo ao FórumGdH
Não se esqueça de se registrar, é grátis . Nós temos 759.317 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.

Resposta
 
Opções do Tópico
Antigo 07-10-2004, 12:15   #1 (permalink)
new_user_br
Newbie
 
Registrado em: Oct 2004
Mensagens: 9
Reputação: 0 new_user_br está indo no caminho certo
Padrão Programa Em C

Putz estou com algumas duvidas tenho que fazer um programa de batalha naval em c mas coisa simples...NAum sei como o computador vai coloca os barco na matriz....Tipo um destroier ocupa 3 espaços como posso faze isso???...Desde ja agradeço pela ajuda :cry:
new_user_br está offline   Responder com Quote
Antigo 07-10-2004, 12:18   #2 (permalink)
rodrigozk
Novo Membro
 
Registrado em: Sep 2004
Mensagens: 113
Reputação: 16 rodrigozk está indo no caminho certo
Enviar mensagem via ICQ para rodrigozk Enviar mensagem via MSN para rodrigozk
Padrão

Quando postar, seja mais específico que a resposta vem mais ráido:


Uma pergunta, quem determina a posição do barco, o usuário ou o programador?
rodrigozk está offline   Responder com Quote
Antigo 07-10-2004, 12:38   #3 (permalink)
Lgub
Super Participante
 
Avatar de Lgub
 
Registrado em: Dec 2001
Mensagens: 937
Reputação: 23 Lgub está indo no caminho certo
Padrão

Da uma procurada pelo o forum, que já surgiu duvidas a respeito desse tipo de tabalho, mais vc não tem ne ideia como implementar isso?

Bem vai um exemplo

Código:
int mapa[8][8]={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }
Essa seria a matriz que ira representar todos as posições possivel no jogo, ai basta vc considerar agua como 0, e qualquer outro valor para os navios(Tipo 1 ,2 3, cada qual com sua posição), como a matriz é 8,8 o usuario tem que dar a posição x,y, mais lembre-se que em C, a matriz começa em 0 então na hora de comparar, vc decrementa 1 na escolha do usuario.
__________________
Linux User:#326216
Intel I7 - 920 - 6G DDR3 Tripple Channel @1600 - Geforce 285 1G.
Programador ADVPL(Fazer o que é o que ta pagando as contas no momento...)
Lgub está offline   Responder com Quote
Antigo 07-10-2004, 12:42   #4 (permalink)
rodrigozk
Novo Membro
 
Registrado em: Sep 2004
Mensagens: 113
Reputação: 16 rodrigozk está indo no caminho certo
Enviar mensagem via ICQ para rodrigozk Enviar mensagem via MSN para rodrigozk
Padrão

o que o lgub falou é uma boa. Uma grande vantagem de batalha naval é que você não tem que alocar nenhuma matriz, pois o tabuleiro ta feito. Coloque como dito todos os campos com valor zero. Cada navio pode ter um numero, por exemplo, destroyer é 3, aí ficam 3 campos com 3:
Ex: 0 0 3 3 3 0 0

Quando vc acertar, converta o valor do campo para 1, que seria navios atingidos.
rodrigozk está offline   Responder com Quote
Antigo 07-10-2004, 12:50   #5 (permalink)
new_user_br
Newbie
 
Registrado em: Oct 2004
Mensagens: 9
Reputação: 0 new_user_br está indo no caminho certo
Padrão

hummm....MAS tipo opc que vai definir onde cada barco ira ficar...
To pensando em faze uma funçào pra isso....O usuario so vai entra com as coordenadas para tenta acerta os barcos..A matriz eh 10x10... :|
new_user_br está offline   Responder com Quote
Antigo 07-10-2004, 14:41   #6 (permalink)
rodrigozk
Novo Membro
 
Registrado em: Sep 2004
Mensagens: 113
Reputação: 16 rodrigozk está indo no caminho certo
Enviar mensagem via ICQ para rodrigozk Enviar mensagem via MSN para rodrigozk
Padrão

Aì vc tem que criar uma função random que faça isso
rodrigozk está offline   Responder com Quote
Antigo 07-10-2004, 17:17   #7 (permalink)
jqueiroz
Highlander
 
Avatar de jqueiroz
 
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.782
Reputação: 1756 jqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputação
Padrão

tem que ser matriz?

eu pensei em fazer uma lista encadeada dos barcos... mais ou menos assim:

cabeça -> barco1 { posição1, posição2, posição3 } -> barco2 { posição1, posição2 } -> ...

Aí quando o cara desse um tiro, você só precisaria percorrer a lista, verificando se alguma coordenada bate.

Acho que o mais difícil, aqui, é sortear a posição dos barcos. Os hidroaviões serão quadrados ou "V"s, como é no papel?
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns
jqueiroz está offline   Responder com Quote
Antigo 07-10-2004, 17:24   #8 (permalink)
rodrigozk
Novo Membro
 
Registrado em: Sep 2004
Mensagens: 113
Reputação: 16 rodrigozk está indo no caminho certo
Enviar mensagem via ICQ para rodrigozk Enviar mensagem via MSN para rodrigozk
Padrão

jqueiroz, vc manja bem de structs hein? Bem q vc poderia fazer algum artigo ou coisa parecida pra explicar pra todo mundo
rodrigozk está offline   Responder com Quote
Antigo 07-10-2004, 17:46   #9 (permalink)
jqueiroz
Highlander
 
Avatar de jqueiroz
 
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.782
Reputação: 1756 jqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputação
Padrão

vou pensar no seu caso... :lol:
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns
jqueiroz está offline   Responder com Quote
Antigo 08-10-2004, 12:30   #10 (permalink)
new_user_br
Newbie
 
Registrado em: Oct 2004
Mensagens: 9
Reputação: 0 new_user_br está indo no caminho certo
Padrão

Ola vou explicar melhor como eh o trabalho do batalha naval....
2 porta aviões [4 partes]
3 destroier[3 partes]
esses barcos vaum fica numa matrix 10x10 de maneira aleatoria...
O meu problema eh como vou coloca isso na matriz..
MAs todo caso vlw pela força aew galera..
new_user_br está offline   Responder com Quote
Antigo 08-10-2004, 12:43   #11 (permalink)
jqueiroz
Highlander
 
Avatar de jqueiroz
 
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.782
Reputação: 1756 jqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputação
Padrão

os porta-aviões vão ser 4 partes em linha, certo?

eu faria assim:

Código:
para cada navio repetir sorteia o ponto central sorteia uma direção: para cima, para baixo, para esquerda, para direita. verifica se tem espaço suficiente na direção selecionada verifica se os espaços estão livres na direção selecionada enquanto não estiverem livres, ou não houver espaço. marca os espaços como ocupados pelo navio fim da repetição.
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns
jqueiroz está offline   Responder com Quote
Antigo 08-10-2004, 14:48   #12 (permalink)
new_user_br
Newbie
 
Registrado em: Oct 2004
Mensagens: 9
Reputação: 0 new_user_br está indo no caminho certo
Padrão

Humm legal...Pensei quase nisso..MAs tipo legal usa uma funçào pra faze isso neh...
new_user_br está offline   Responder com Quote
Resposta


Opções do Tópico

Regras de Mensagens
Você não pode criar tópicos
Você não pode postar respostas
Você não pode anexar arquivos
Você não pode editar suas mensagens

Código vB está Ligado
Smiles estão Ligado
Código [IMG] está Ligado
Código HTML está Desligado
Ir para...


Horários baseados na GMT -3. Agora são 4:28.