Posições de peças no Tabuleiro

5 respostas
Polverini

Bom Dia pessoal,

estou tentando criar um jogo de damas porem estou com dificuldades na hora da movimentação da peça, dei uma procurada e vi que o pessoal implanta a busca heuristica para saber onde as peças estão, teria um jeito mais pratico ?

Desde já obrigado !

5 Respostas

JoaoBluSCBR

Geralmente um jogo de tabuleiro, além da classe Interface que mostra o tabuleiro e as peças,
tem uma classe lógica do tabuleiro.

Tipo um array ou matriz mostrando onde estão as peças e é nesse tabuleiro lógico que você
faz as modificações e os valores do tabuleiro são representados na interface e nunca o contrário.

Então quando você move uma peça na interface, o nome dela se relaciona com um objeto do
tabuleiro lógico e este é posicionado.

O esquema sempre será mover a pela do esquema logico e depois desenhar o tabuleiro novamente.

denisspitfire

exatamente como o JoaoBluSCBR. Voce vai usar uma matriz, nao esquecendo de fazer um if… para indicar as extremidades do tabuleiro… eu fiz um software para resolver aquele problema do passeio do cavalo, que ele pegava um movimento e via se era valido primeiro para saber se… coluna era maior que colunas do tabuleiro, se coluna era menor 0,se linha era maior e se linha era menor… e assim vai, se tudo bater direitinho… movimento valido… agora para capturar a peça… acho que vai ter que sambar um pouco, pois meu problema era só para movimentação. :slight_smile: flw espero ter ajudado

Polverini

bom vou tentar com matriz, mas basicamente o que a busca heuristica vai realizar é isso não ?? só acho que vai ser um pouco mais lento, deniss estava pensando em quando o jogador clicar sobre a peça (lembrando que tenho diferenciação de branca e preta) ele vai verificar de quem é a vez e vai calcular onde a peça pode andar (ex: de A1 vai somente para B2) para assim validar a movimentação, e depois vou implantar i minimax para o pc jogar !

JoaoBluSCBR

Entao faça isso, mas testar a partir da parte gráfica é muito incomum e geralmente redunda em processos mais lentos.

Quando vc faz teus cálculos em um array ou matriz, as respostas das casas objetivo é muito mais rapido que quando vc tenta encontrar isso pelo modo gráfico.

Mas faça isso e veja a dificuldade que vai ser. Voce quer clicar numa peça, acionar o evento dela, e daí, que relação matematica essa peça tem com as demais? Como vai determinar que uma outra peça esteja na diagonal desta, no final tudo vai recair na heuristica do tabuleiro lógico. Nem consigo imaginar como vc pretende fazer esse cálculo de outra forma.

denisspitfire

cara… sempre faça uma leitura e releitura e releitura de uma matriz… tipo sempre redesenhando. Fica mais rapido.

Criado 19 de setembro de 2011
Ultima resposta 19 de set. de 2011
Respostas 5
Participantes 3