Criar um jogo de Xadrez

Iniciado por Donkei, 16 de Agosto de 2007, 00:03

tópico anterior - próximo tópico

Donkei

Pessoal, estou com muita dificuldade pra criar um jogo de xadrez. Preciso de uns que possuam código livre pra tenta alguma coisa.

Sei que a escolha não é fácil, xadrez é bem complicado, mas eu não quero voltar a traz, não quero desistir. Ferramentas, java, C++, Pytom, o que for...se alguém souber onde eu acho um jogo de xadrez com código fonte disponível manda pra mim ai...vlw.

clcampos

#1
Criar um tópico duplicado não vai ajudar a ter resposta mais rapidamente.

http://ubuntuforum-br.org/index.php/topic,24016.0
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

gaules

Citação de: clcampos online 16 de Agosto de 2007, 00:08
Criar um tópico duplicado não vai ajudar a ter resposta mais rapidamente.

http://ubuntuforum-br.org/index.php?action=post;topic=24016.0

não mesmo, pois depois q eu li os dois q eu resolvi responder, ou seja, só atrapalhou...

olha esse:

http://glchess.sourceforge.net/

é o q já vem no ubuntu.

celsofaf

#3
Como qualquer pessoal que vai fazer algum programa, antes de definir que linguagens ou ferramentas usar, você tem que ter muito claro o quê você quer fazer. Vamos lá... O que precisamos ter para criar um jogo de xadrez? Não necessariamente nesta ordem, também não necessariamente com estes requisitos:

(0) Definir objetos. Cada peão e cada peça pode ser um objeto. O tabuleiro pode ser um, também; podemos representá-lo por uma matriz 8x8, cujo conteúdo em cada entrada é um objeto ou então o objeto vazio. Acho que justamente uma programação orientada a objetos seria muito bem vinda aí.

(1) Estabelecer a base regras que os objetos devem cumprir. Você sabe direito as regras todas do xadrez? Precisamos, então, dizer aos objetos como e quando eles podem se movimentar, bem como identificar movimentos e situações ilegais. E isto é trabalhoso! Com isso já podemos fazer um jogo funcional para duas pessoas.

(2) Terá alguma interface gráfica?

(3) Haverá a possibilidade de jogar contra a máquina? Se sim, estás disposto a implementar uma inteligência artificial? De que modo? Várias possibilidades não excludentes são: aprendizado por tentativa-e-erro via programação genética, força bruta dada uma profundidade de quantos movimentos futuros queremos examinar, funções de mérito para cada jogada possível, redes bayesianas aproveitando de bancos de dados com partidas históricas, estratégias do tipo minimax, etc etc.

São muitos desafios à frente. Boa sorte!
Rio de Janeiro, RJ, Brasil

Piras

#4
Há vários bons programas de xadrez no mundo Linux. A primeira pergunta a fazer é a seguinte: será que as funcionalidades nas quais estou pensando já não existem? No mundo do GTK2 é sempre bom dar uma olhada no site Gnome Files (http://www.gnomefiles.org/). Ali você encontrará várias interfaces interessantes para o xadrez. Minha preferida é o PyChess:

http://pychess.googlepages.com/home

Donkei

Citação de: clcampos online 16 de Agosto de 2007, 00:08
Criar um tópico duplicado não vai ajudar a ter resposta mais rapidamente.

http://ubuntuforum-br.org/index.php/topic,24016.0
Perdão. É que eu não sabia para onde direcinar o tópico, coloquei no tópico de jogos pq tem a ver com jogos mas não sabia se cabia desenvolvimento ali. De qualquer forma ja exclui aquele pois obtive mais resposta nesse, pesso perdão e ja agradeço o pessoal que ta colaborando ai...valeu mesmo.

Donkei

Citação de: celsofaf online 16 de Agosto de 2007, 00:32
Como qualquer pessoal que vai fazer algum programa, antes de definir que linguagens ou ferramentas usar, você tem que ter muito claro o quê você quer fazer. Vamos lá... O que precisamos ter para criar um jogo de xadrez? Não necessariamente nesta ordem, também não necessariamente com estes requisitos:

(0) Definir objetos. Cada peão e cada peça pode ser um objeto. O tabuleiro pode ser um, também; podemos representá-lo por uma matriz 8x8, cujo conteúdo em cada entrada é um objeto ou então o objeto vazio. Acho que justamente uma programação orientada a objetos seria muito bem vinda aí.

(1) Estabelecer a base regras que os objetos devem cumprir. Você sabe direito as regras todas do xadrez? Precisamos, então, dizer aos objetos como e quando eles podem se movimentar, bem como identificar movimentos e situações ilegais. E isto é trabalhoso! Com isso já podemos fazer um jogo funcional para duas pessoas.

(2) Terá alguma interface gráfica?

(3) Haverá a possibilidade de jogar contra a máquina? Se sim, estás disposto a implementar uma inteligência artificial? De que modo? Várias possibilidades não excludentes são: aprendizado por tentativa-e-erro via programação genética, força bruta dada uma profundidade de quantos movimentos futuros queremos examinar, funções de mérito para cada jogada possível, redes bayesianas aproveitando de bancos de dados com partidas históricas, estratégias do tipo minimax, etc etc.

São muitos desafios à frente. Boa sorte!
Cara...é bem isso mesmo que eu ja tinha em mente. A dificuldade é que estou fazendo sozinho então estava preferindo deixar a parte grafica de lado. Eu quero sim colocar alguma IA mas queria deixar isso por ultimo caso não tenha tempo. Eu conheço o Xadrez, as regras, algumas jogadas, o que não pode, etc...

Vou tentar checar as urls que o pessoal mandou mas a verdade é que meu ingles ainda é muito fraco e vou pena um pouco nessa parte. Cara, gostaria de continuar contando com a sua ajuda, vou tentar ta sempre postando aqui e no forum de jogos. Quero fazer algo pra linux ou java que serve pra varios SOs, mas a idéia principal é que tenha um bom desempenho, nesse quesito, acho que java perde um pouco. Bom, espero contar com a ajuda de vcs, desde ja muito obrigado.

celsofaf

Cara, esqueci de dizer na minha mensagem: você conhece o clássico GNU Chess?
Rio de Janeiro, RJ, Brasil

Akuhn

Esse gnuchess eu jogava, é bem difícil, você joga ele pelo console e tem que digitar as coordenadas, ou seja, não tem tabuleiro. :P
Aldefax Gilvan Kuhn

Linux User 410689

Donkei

Citação de: celsofaf online 16 de Agosto de 2007, 14:32
Cara, esqueci de dizer na minha mensagem: você conhece o clássico GNU Chess?
Não...mas ja me interessei. Akuhm disse que é por coordenadas, sem interface. Vo da uma conferida nesse. Vlw.

celsofaf

Ele próprio não tem interface, mas existem muitos jogos de xadrez que nada mais são que uma interface gráfica para o GNU Chess. :) Não sei dizer agora de cabeça, mas são vários.
Rio de Janeiro, RJ, Brasil

Donkei

Pessoal. Decidir fazer usando C/C++ e estou usando o DEV no Windows mesmo. Eu to tentando fazer um do zero tentando me basear dos códigos que encontrei. São em sua maioria procedurais porem pretendo fazer um o.

Sei que num tem nada a ver Windows com Linux mas farei de forma opensource e possivelmente vai servir para uma implementação em Linux.

Estou deixando esse tópico, quem quiser participar, ajudar, colaborar e até aprender como eu acredito que estou aprendendo, estarei usando o fórum da unidev: http://forum.unidev.com.br/phpbb2/viewtopic.php?p=271375#271375

Fiz isso pq participo de uns 3 fóruns e estou a centralizar tudo em um lugar só e ai é dedicado a programação com C/C++. Desde ja agradeço a ajuda de todos, vlw mesmo.