Jogo de Xadrez

Olá pessoal,

Fiz um Jogo de Xadrez em Java e gostaria de compartilhar com vocês a versão beta, ainda falta programar algumas regras do jogo e pode haver algum bug.

Dentre suas vantagens, posso destacar:

Multiplayer: jogue contra um amigo ou contra seu computador;

Alta Resolução: desenhado totalmente em Java 2D, garantindo flexibilidade, isto é:
[list]Auto Ajuste: o jogo ajusta-se a resolução do seu monitor, independente do tamanho deste;[/list]
[list]Milhares de Cores: entre as cores sólidas, texturas, dégradés e transparências disponíveis;[/list]
Tamanho em Disco: como citado anteriormente, devido os gráficos serem desenhados com Java 2D (sem imagens externas em anexo), o executável ocupa menos de 20 KB, podendo ser executado até mesmo em um pendrive.

Como jogar:

Use as teclas direcionais do teclado ou o numpad para movimentar-se no tabuleiro e a tecla enter para correr/capturar as peças.

Comentem: tiro dúvidas, aceito sugestões, informe um bug, etc.

Interessados no código fonte aguardem. Em breve, publicarei um site mostrando passo a passo com desenvolver este e outros jogos.

Divirtam-se.

ooooooooooooooooooooooooooooooorrrraaa aaiiii siimmm cara… ficou muito bacana, claro que tem coisas a melhorar mas achei da hora voce fazer um tutorial de como fazermos o jogo… parabens pela iniciativa. Estou desenvolvendo também algumas coisas, mas é mais pra ajudar o pessoal iniciante(pois nao sou nada avançado kkk)

dei Check Mate com 1 peão…

como ta funcionando a I.A do PC ?

Obrigado.

Sim, aos poucos/horas vagas, irei rever algumas coisas.

Obrigado, também em horas vagas.

Este também é exatamente o meu caso, sou iniciante.

[quote=douglaskd]dei Check Mate com 1 peão…

como ta funcionando a I.A do PC ?[/quote]

Simplesmente Random. :smiley:

[quote=InicianteJavaHenrique][quote=douglaskd]dei Check Mate com 1 peão…

como ta funcionando a I.A do PC ?[/quote]

Simplesmente Random. :smiley: [/quote]Perfeito. O lance é fazer uma coisa de cada vez. Primeiro a parte gráfica, a movimentação, a coisa bonitinha. Depois a IA.

Parabéns.

parabens tbm,

o lancei é ir agregando coisas e melhorando…vai te dar muito conhecimento…

espero poder começar um projeto assim quando tiver um tempo…

se quizer dar uma incrementada depois na I.A da uma pesquisada sobre algoritmo Minimax…é extremamente complexo…eu não entendi ele ainda…

[quote=jaboot][quote=InicianteJavaHenrique][quote=douglaskd]dei Check Mate com 1 peão…

como ta funcionando a I.A do PC ?[/quote]

Simplesmente Random. :smiley: [/quote]Perfeito. O lance é fazer uma coisa de cada vez. Primeiro a parte gráfica, a movimentação, a coisa bonitinha. Depois a IA.

Parabéns.[/quote]

Sim. Obrigado. :smiley:

[quote=douglaskd]parabens tbm,

o lancei é ir agregando coisas e melhorando…vai te dar muito conhecimento…

espero poder começar um projeto assim quando tiver um tempo…

se quizer dar uma incrementada depois na I.A da uma pesquisada sobre algoritmo Minimax…é extremamente complexo…eu não entendi ele ainda…[/quote]

Obrigado pela dica, vou pesquisar sobre este algoritmo Minimax :smiley:

eai cara vc leu minha msg mp?

Esse algoritmo minimax eh realmente legal.
Na faculdade usei ele pra um joguinho em C que fiz na disciplina de IA…
O joguinho conseguiu ganhar de várias pessoas e meu professor tentou tentou mas não conseguiu ganhar (ficou no empate as vezes q tentou heheh)
Vale a pena estuda-lo…

Sim. Já enviei vê se funciona.

[quote=Rendrys]Esse algoritmo minimax eh realmente legal.
Na faculdade usei ele pra um joguinho em C que fiz na disciplina de IA…
O joguinho conseguiu ganhar de várias pessoas e meu professor tentou tentou mas não conseguiu ganhar (ficou no empate as vezes q tentou heheh)
Vale a pena estuda-lo…[/quote]

Curiosidade: que joguinho era :?:

Nunca consigo lembrar um nome certinho pra esse jogo… mas é um que você vai derrubando umas bolinhas em colunas e tem que fechar 3 ou 4 bolinhas em uma mesma direção (horizontal, vertical ou diagonal), cada rodada 1 pessoa joga sua bolinha e quem fechar a sequencia primeiro ganha. Tipo isso :lol:
Ai no caso eu fazia o “computador” prever as possiveis jogadas do outro jogador, ja classificando elas por nivel de perigo, e ai o computador fazia uma especie de balança pra pensar, algo como: “o que é melhor, fazer uma jogada defensiva e bloquear a linha de raciocinio do jogador ou de repente fazer uma jogada que me favoreça pra fechar o jogo?”… em termos gerais era isso hehehe

ficou massa.

a interface.

pq IA nem existe.

vc dá um cheque no rei e ele movimenta outra peça deixando o rei em cheque.
ou seja, IA seria pra decidir melhor opção de jogada. q é mt mais complexo q simplesmente validar um movimento.

[quote=Rendrys]Nunca consigo lembrar um nome certinho pra esse jogo… mas é um que você vai derrubando umas bolinhas em colunas e tem que fechar 3 ou 4 bolinhas em uma mesma direção (horizontal, vertical ou diagonal), cada rodada 1 pessoa joga sua bolinha e quem fechar a sequencia primeiro ganha. Tipo isso :lol:
Ai no caso eu fazia o “computador” prever as possiveis jogadas do outro jogador, ja classificando elas por nivel de perigo, e ai o computador fazia uma especie de balança pra pensar, algo como: “o que é melhor, fazer uma jogada defensiva e bloquear a linha de raciocinio do jogador ou de repente fazer uma jogada que me favoreça pra fechar o jogo?”… em termos gerais era isso hehehe[/quote]

Muito legal :smiley: com algoritmo Minimax :!: :?: Vou correr atrás disto.

[quote=GilsonNunes]ficou massa.

a interface.

pq IA nem existe.

vc dá um cheque no rei e ele movimenta outra peça deixando o rei em cheque.
ou seja, IA seria pra decidir melhor opção de jogada. q é mt mais complexo q simplesmente validar um movimento.[/quote]

Sim. ela existe, mas, é o nível very easy. :smiley:

Dá uma lida nesse tutorial:
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/
http://elemarjr.net/2011/05/17/escrevendo-um-engine-para-xadrez-parte-12-a-classe-board/
http://elemarjr.net/2011/05/18/escrevendo-um-engine-para-xadrez-parte-13-refactoring-e-melhorias-em-board/
http://elemarjr.net/2011/11/19/escrevendo-um-engine-para-xadrez-parte-14-castling-roque-rules/

Obrigado pelos links.

Estou fazendo meu jogo de xadrez sem usar nenhum tutorial/código existente, para não me influenciar, o que foi uma grande vantagem, pois, assim criando a partir do zero obtive (e ainda terei) mais conhecimento.

Futuramente, após eu concluir meu jogo, verei estes links. :smiley:

Gosteeei, caraa, massa!

Mas o nível ta muito easy! :smiley: