GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Jogo de Xadrez -Movimentacao do Bispo


#1

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
    }
}

#2

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...


#3

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


#4

Brigadao!
vou tentar fazer aqui!

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

obrigado!


#5

É 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

=)


#6

Obrigado!


#7

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.


#8

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


#9

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/


#10

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.


#11

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


#12

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


#13

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


#14

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

Gostei muito do que estou lendo..

Otimo.

666


#15

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.


#16

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


#17