Jogo de Xadrez -Movimentacao do Bispo

15 respostas
belitos

Olá pessoal,estou fazendo um jogo de xadrez em java… meu problema é o seguinte

nao estou conseguindo achar uma logica para ver se o movimento do bispo eh valido!
ou seja
eu quero validar uma jogada!

observação:
as peças estao numa matriz do tipo Peca (classe criada por mim)

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Pecas;

/**
 *
 * @author belitos
 */
public class Bispo extends Peca {

    public Bispo(char jogador)
    {
       super.setJogador(jogador);
    }

    public int validaMovimento(int posX, int posY)
    {
       //retorna 0 se a jogada for valida e -1 se nao for
        
       //posX e posY,canditas a nova posicao na matriz



        int oldX,oldY;  //posicao onde esta a peca no momento

        oldX=this.getX();
        oldY=this.getY();

     



        
        
        
        return -1; //jogada invalida



      
    }




}

15 Respostas

M

tentaria um while de bispo[i++][j++], bispo[i++][j–], bispo[i–][j++], bispo[i–][j–], resolve… deve ter uma regra matematica que cubra isso em uma operacao só, mas dai tu vai te q quebrar mto a cabeça…

M

Só por curiosidade… n tinha visto teu codigo antes… Mas pq validaMovimento retorna 0 e -1? Não era + facil retornar boolean???

belitos

Brigadao!
vou tentar fazer aqui!

aa isso eh mania,pq eu ja programei muito em C e nao tem tipo boolean la

obrigado!

M

É bem simples a logica:

1- verifique se posX e posY estao dentro do limite do tabuleiro
2- declare duas variaveis auxiliares X e Y
3- X = | posX - oldX | //modulo
4- Y = | posY - oldY | //modulo

se X == Y //movimento valido

=)

belitos

Obrigado!

R

revivi o post. saiu este jogo? da para conhecer… tambem comecei um, mas ficou estacionado…
alguem tem interesse em fazer ou discutir sobre isso… tenho um iniciado.

R

jar xadrez atual meu, movimenta só o esquerdo de cima, peao

ViniGodoy

Raghy, dá uma lida. Esse tutorial é excelente, e explica tintim por tintim como programar um jogo de xadrez:
http://elemarjr.net/2010/12/30/escrevendo-um-engine-para-xadrez-parte-1-bitboards/
http://elemarjr.net/2010/12/30/escrevendo-um-engine-para-xadrez-parte-2-a-importncia-do-pr-processamento/
http://elemarjr.net/2011/01/02/escrevendo-um-engine-para-xadrez-parte-3-o-movimento-do-cavalo/
http://elemarjr.net/2011/01/04/escrevendo-um-engine-para-xadrez-parte-4-tempo-para-refactoring/
http://elemarjr.net/2011/01/07/escrevendo-um-engine-para-xadrez-parte-5-o-movimento-do-rei/
http://elemarjr.net/2011/01/07/escrevendo-um-engine-para-xadrez-parte-6-o-movimento-dos-pees/
http://elemarjr.net/2011/01/11/escrevendo-um-engine-para-xadrez-parte-7-o-movimento-da-torre/
http://elemarjr.net/2011/01/12/escrevendo-uma-engine-para-xadrez-parte-8-bispo-e-dama/
http://elemarjr.net/2011/01/17/escrevendo-um-engine-para-xadrez-parte-9-refactoring-e-redesign/
http://elemarjr.net/2011/01/23/escrevendo-um-engine-para-xadrez-parte-10-pieceset-side-attackmoves-rays-e-otimizaes/
http://elemarjr.net/2011/01/27/escrevendo-um-engine-para-xadrez-parte-11-mais-bitboards-xeques-e-escapadas/

R

opa legal. to trabalhando no matematica java. nao sei se ja viu algo por aqui… ah, vc ate me ajudou um pouco na curva da equação de 2 grau… mas ainda nao ficou perfeita, nao consegui traçar a curva ou parabola de segundo grau, com perfeição…

mas é o seguinte, do xadrez, faltou as imagens, do rar, estão neste tópico do guj, que tambem acabou tratando do mesmo assunto.
http://www.guj.com.br/java/33852-mais-um-jogo-da-velha-o-meu/2#1237811

se interessar ver o jar do xadrez com imagens, imagens na pasta c://

vou ver o tutorial sim, acho bacana…

vc ja fez jogo de xadrez, vini?

valeu.

ViniGodoy

Já fiz, foi uns dos primeiros que programei em 1998. Foi em pascal, não tenho mais os fontes.

S

ViniGodoy:
Raghy, dá uma lida. Esse tutorial é excelente, e explica tintim por tintim como programar um jogo de xadrez:
http://elemarjr.net/2010/12/30/escrevendo-um-engine-para-xadrez-parte-1-bitboards/
http://elemarjr.net/2010/12/30/escrevendo-um-engine-para-xadrez-parte-2-a-importncia-do-pr-processamento/
http://elemarjr.net/2011/01/02/escrevendo-um-engine-para-xadrez-parte-3-o-movimento-do-cavalo/
http://elemarjr.net/2011/01/04/escrevendo-um-engine-para-xadrez-parte-4-tempo-para-refactoring/
http://elemarjr.net/2011/01/07/escrevendo-um-engine-para-xadrez-parte-5-o-movimento-do-rei/
http://elemarjr.net/2011/01/07/escrevendo-um-engine-para-xadrez-parte-6-o-movimento-dos-pees/
http://elemarjr.net/2011/01/11/escrevendo-um-engine-para-xadrez-parte-7-o-movimento-da-torre/
http://elemarjr.net/2011/01/12/escrevendo-uma-engine-para-xadrez-parte-8-bispo-e-dama/
http://elemarjr.net/2011/01/17/escrevendo-um-engine-para-xadrez-parte-9-refactoring-e-redesign/
http://elemarjr.net/2011/01/23/escrevendo-um-engine-para-xadrez-parte-10-pieceset-side-attackmoves-rays-e-otimizaes/
http://elemarjr.net/2011/01/27/escrevendo-um-engine-para-xadrez-parte-11-mais-bitboards-xeques-e-escapadas/

Putz, como é complexo um engine. Existe um opensource chamado Crafty que é forte pra caramba.

ElemarJR

Olá,

Meu nome é Elemar Jr. Sou o autor da serie indicada pelo Vini.

Gostaria de informar que estou retomando a serie agora e gostaria muito do feedback de vocês.
Embora minha especialidade seja .net, tenho muito respeito por Java e gostaria de trocar experiências com vocês.

Antes de tudo, obrigado.

[]s

Elemar Jr
@elemarjr

juniorsatanas

ElemarJR pARABÉNS CARA !
Vou fazer um para Android…

Gostei muito do que estou lendo…

Otimo.

666

R

opa voltou o tópico. to com vários jogos parados. devia montar uma empresa para fazer isto em grupo. alguém topa em fpolis?
comecei yatzi(dados,general) e o xadrez tá aí. é um desafio para mim, mas sei que não é impossível.

seria mais fácil para jogar on line, já conversei sobre protocos tcp, para conectar jogadores, isto não foi posssível, alguma solucao nesta área.

já se fosse jogar contra o micro é outro problema e os cálculos são muitos, mas seria muito interessante, mas é complexo, além de programacao, precisa todos os conhecimentos em xadrez. que apesar de tentar jogar muito em www.gametrack.com.br eu perco bastante, tb.

é isso aí levanto o tópico… testei meu xadrez jar, e as imagens no c, está funcionando. só funciona o peão preto da esquerda de quem vê. mas não sei se programei da melhor forma, acho que não, está muito confuso. aguardo interesse e apoio, ajuda, etc.

juniorsatanas

raghy Boa Tarde !

Estava pensando em fazer jogos infantis para GAlaxy TAblet da Sansung, fiquei sabendo que o governo vai comprar aos montes para escolas publicas…

abraço

jr

Criado 29 de maio de 2009
Ultima resposta 31 de out. de 2011
Respostas 15
Participantes 8