Batalha Naval

Boa noite.

Estou fazendo um jogo de batalha naval para 2 jogadores jogarem em rede ( trabalho de faculdade ). Não tenho quase nenhuma experiência com jogos, a não ser um joguinho de forca que fiz pra JME há uns anos atrás. Então, gostaria de perguntar algumas coisas:

  1. Eu comecei o jogo modelando e construindo as classes que implementam a lógica do jogo, como se fosse um Domain Model, e pretendo construir as classes de UI em outra camada separada. O que é mais comum: fazer isso ou implementar as lógicas de renderização e do jogo na mesma classe?

  2. Alguém tem sugestões de como implementar a troca de jogadas pela rede? Por exemplo, eu tava pensando em manter em cada instância do programa dois objetos da classe Tabuleiro: um para o jogador local ( A ) e outro para o remoto ( B ). Quando for a vez de A, ele seleciona uma casa da cópia do tabuleiro de B, e essa informação é transferida e replicada para a cópia do tabuleiro de A que B possui.

Quando terminar, pretendo disponibilizar o código-fonte pra galera.

Segue em anexo o que fiz até agora. Quem puder dar uma olhada e mandar sugestões, ficarei agradecido.

Abraços.

Se você estiver fazendo o jogo em Swing tradicional, com os componentes, layout managers e afins, então, separe as classes de negócio e GUI, como ocorre numa aplicação tradicional.

Se você estiver usando Java2D, faça como é mais tradicional em jogos. Ponha um método paint() e um process() em cada objeto, e faça com que cada classe visual saiba como se desenhar.

Me pareceu ser o jeito certo mesmo.

[quote=ViniGodoy]Se você estiver fazendo o jogo em Swing tradicional, com os componentes, layout managers e afins, então, separe as classes de negócio e GUI, como ocorre numa aplicação tradicional.

Se você estiver usando Java2D, faça como é mais tradicional em jogos. Ponha um método paint() e um process() em cada objeto, e faça com que cada classe visual saiba como se desenhar.[/quote]
Eu ainda não tinha pensado no que usar na interface gráfica… Dado que não é um jogo com muito processamento gráfico, acho que usar Swing vai ser menos complicado. Posso criar uma classe que herde de JComponent e que contenha a instância de Tabuleiro como atributo.

OK. Obrigado por seus comentários. Abraços.

Oi Tarso,

Será que somos da mesma turma, ou melhor…faculdade? Eu estudo no JK - DF e vc?
Cara tô apanhando demais nesse trabalho, não entendo muita coisa de java… Desde já agradeço, a sua ajuda…foi de grande valia!! Vc vai postar mesmo o código completo aqui?

Abç.

Eu estudo em Natal/RN. E pretendo disponibilizar o código do jogo em breve sim.

Você conseguiu? pode me mandar o fonte? to tentando fazer o mesmo porém se comunicando com bluetooth.

Cara, não cheguei a terminar porque parei este pra fazer um jogo de Pong, que era o exercício que o professor tinha passado.

Valeu… tem erro não.
to desenvolvendo… quando acabar “pósto” aqui.

valeu.

galera e o seguinte meu jogo BATALHA NAVAL ta praticamente pronto, so que o seguinte quando to jogando quer dizer quando ta na batalha e o seguinte quando kra acertar o submarino por exemplo que sao 2 peças tem q mostrar na tela, o submarino foi afundado, mais so se acertar as duas peças, e eu nao to conseguindo fazer a validação para que issu aconteça, sera q alguem tem uma ideia ou o algoritmo de como faça issu, se alguem souber por fvor me add no msn jackcavalera@hotmail.com ou me mande um e-mail edmilson_filho1401@hotmail.com , por favor tenho que entragar esse jogo segunda feira pronto !!!

o resto ta tudo certinho, validei pra nao coloocar na msm posicao, no ataque ta mostrando direitinho quando acerta e tudo mais eu vou colocar pra vcs o aquivo que o professor colocou pra nos, ta no word explicando como e o jogo !!!

desde de ja agredece mto vcs !!!

Pedir e facil … postar src pra galera aprende que é dificil!

1- meu trabalho tah em ME. não é o que ele quer!
2- vou disponibilizar qnd tiver pronto! assim como disse! (infelizmente não antes de segunda)
3- já tentei o ajudar por email… e vc?! fez o q?! NADA?!

Quem tiver o objetivo de reter conhecimento… por favor, queira se retirar!

[quote=dangremon]1- meu trabalho tah em ME. não é o que ele quer!
2- vou disponibilizar qnd tiver pronto! assim como disse! (infelizmente não antes de segunda)
3- já tentei o ajudar por email… e vc?! fez o q?! NADA?!

Quem tiver o objetivo de reter conhecimento… por favor, queira se retirar!

[/quote]

opaa e ae tudo bem né ??
kra eu consegui terminar ele sim, e assim se vc precisar de qualquer ajuda me avisa !!!
tudo de bom pra vc, e quem num quer ajudar fica calado que ja ta ajundado !!

abraço