1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Receber entrada - variavel de referencia

Olá, boa tarde a todxs. Estou tentando desenvolver um jogo para desktop em Java, mas ando encontrando dificuldades a respeito da entrada de dados do jogador. Por exemplo, imagine um jogo de Xadrez para desktop. Gostaria que o usuário entrasse com a seguinte String "pA3" (movimentando o peao da casa atual, até a A3). Até agora, o programa separa esse String em 3 subStrings, e ai entra o problema. Nesse ponto do programa, as peças ja foram criadas, então nem tem como eu fazer essa String "p" referenciar um novo Peão (gostaria de lembrar que estou usando "p" como uma String, pois uso o .nextLine() do scanner para receber a entrada do usuario)! Gostaria de um jeito "a grosso modo" de fazer algo meio: p.moverCasa(A3) ou p = peao1 e ai sim peao.moverPeca(); Agradeço a ajuda desde ja!

  • Ao invés de associar as peças aos movimentos, por que não associa as casas do tabuleiro (independente de quais peças os ocupem). Assim, para mover uma peça da casa 1/1 (considerando que o tabuleiro começa no 0/0, a casa 1/1 inicialmente é um peão), você pode receber um comando como "1 1 3 1", que move a peça duas casas pra frente. É um comando facilmente "parseável" (com split, por exemplo) e validável (se seu tabuleiro é um array, fica fácil detectar jogadas inválidas)

    TerraSkilll   23 de mar de 2015
  • Se quiser ser mais próximo do xadrez use a notação de casas não resumida. Por exemplo: a2-a3 (mover peão da coluna A linha 2 para a linha 3). A notação resumida é bem mais complexa uma vez que o p, do seu exemplo, pode representar qualquer peão e você teria que procurar qual deles tem permissão para ir para casa a3.

    ViniGodoy   24 de mar de 2015
  • Obrigado pelas respostas pessoal. Vou tentar essa abordagem através das casas do tabuleiro.

    Antonio Carlos Baptista Coelho   24 de mar de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java io ou faça a sua própria pergunta.