A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Damas3D Programação em Lógica Nelson Jorge Silva Rodrigues – ei00070 Ricardo Jorge Marques Veloso – ei00125.

Apresentações semelhantes


Apresentação em tema: "Damas3D Programação em Lógica Nelson Jorge Silva Rodrigues – ei00070 Ricardo Jorge Marques Veloso – ei00125."— Transcrição da apresentação:

1 Damas3D Programação em Lógica Nelson Jorge Silva Rodrigues – ei00070 Ricardo Jorge Marques Veloso – ei00125

2 2 Damas3D Enquadramento Enquadramento Introdução ao jogo Introdução ao jogo Módulo de lógica Módulo de lógica Módulo de visualização Módulo de visualização Comunicação entre os módulos Comunicação entre os módulos Conclusões Conclusões

3 3 Enquadramento Este trabalho enquadra-se na proposta para o desenvolvimento de um jogo de tabuleiro, feita para a cadeira de programação em lógica (módulo de lógica) e laboratório de computação (módulo de visualização). Damas3D

4 4 Damas3D Enquadramento Enquadramento Introdução ao jogo Introdução ao jogo Módulo de lógica Módulo de lógica Módulo de visualização Módulo de visualização Comunicação entre os módulos Comunicação entre os módulos Conclusões Conclusões

5 5 Introdução ao jogo Damas3D Cada jogador começa com 12 pecas, de uma determinada cor, brancas ou pretas. Cada jogador começa com 12 pecas, de uma determinada cor, brancas ou pretas. O jogo efectua-se movimentando as peças sobre as casas pretas e nas diagonais, em direcção ao adversário. O jogo efectua-se movimentando as peças sobre as casas pretas e nas diagonais, em direcção ao adversário. Regras O jogo resume-se a um tabuleiro de 8x8 casas, alternadamente brancas e pretas, ordenadas alfabeticamente nas colunas e numeradas nas linhas.

6 6 Damas3D Jogada simples: Movimentação das peças para a casa seguinte; Jogada de comer: Comer uma peça adversaria, avançando assim duas casas. Este tipo de jogada pode ser encadeado; Jogada de comer: Comer uma peça adversaria, avançando assim duas casas. Este tipo de jogada pode ser encadeado; Jogada de dama: Quando uma peça atinge a última linha do lado oposto, obtém-se a dama que se representa pela sobreposição de duas peças normais. Uma dama pode percorrer mais de uma casa e em qualquer sentido, diagonalmente. Jogada de dama: Quando uma peça atinge a última linha do lado oposto, obtém-se a dama que se representa pela sobreposição de duas peças normais. Uma dama pode percorrer mais de uma casa e em qualquer sentido, diagonalmente. Introdução ao jogo O objectivo do jogo é impedir que o adversário tenha jogadas possíveis. A maneira mais fácil de conseguir este objectivo é comer as peças todas do adversário. Objectivo do jogo

7 7 Damas3D Enquadramento Enquadramento Introdução ao jogo Introdução ao jogo Módulo de lógica Módulo de lógica Módulo de visualização Módulo de visualização Comunicação entre os módulos Comunicação entre os módulos Conclusões Conclusões

8 8 Módulo de lógica Damas3D Programa desenvolvido em Prolog. Este módulo contém o motor do jogo, implementando todos os predicados para a validação e efectuação de uma jogada, assim como a implementação de um modo em que o computador actue como um ou ambos os jogadores. Representação do tabuleiro _ (underscore) – casa vazia 0 – Peça simples – Peça simples preta B – Dama branca P – Dama Preta

9 9 Módulo de lógica Damas3D Destaca-se na imagem o modo de introdução das jogadas: ColunaInicialLinhaInicial…ColunaFinalLinhaFinal O jogador a efectuar a jogada é representado como brancas ou pretas Interface no módulo de lógica

10 10 Damas3D Enquadramento Enquadramento Introdução ao jogo Introdução ao jogo Módulo de lógica Módulo de lógica Módulo de visualização Módulo de visualização Comunicação entre os módulos Comunicação entre os módulos Conclusões Conclusões

11 11 Damas3D Módulo de visualização Módulo desenvolvido utilizando a linguagem Java com as extensões que possibilitam a criação e visualização de mundos 3D (Java3D). O ambiente de jogo consiste essencialmente de um tabuleiro de damas em 3 dimensões, um marcador do número de jogos ganhos por cada jogador, e um temporizador que marca o tempo para efectuar uma jogada. A interacção com o utilizador baseia-se na utilização do rato para movimentar as peças no tabuleiro de jogo, devendo no caso de jogadas compostas o utilizador passar por todas as casas que compõem a jogada.

12 12 Existe a possibilidade de mudar o aspecto do ambiente de jogo e de ver o filme do jogo. Módulo de visualização Damas3D

13 13 Damas3D Enquadramento Enquadramento Introdução ao jogo Introdução ao jogo Módulo de lógica Módulo de lógica Módulo de visualização Módulo de visualização Comunicação entre os módulos Comunicação entre os módulos Conclusões Conclusões

14 14 Comunicação entre os módulos Damas3D A comunicação entre o módulo de lógica e o módulo de visualização efectua-se utilizando o Jasper, uma interface fornecida pelo ambiente de desenvolvimento SICStus Prolog, que permite construir uma aplicação que facilmente integra duas linguagens de programação: Prolog e Java.

15 15 Damas3D Enquadramento Enquadramento Introdução ao jogo Introdução ao jogo Módulo de lógica Módulo de lógica Módulo de visualização Módulo de visualização Comunicação entre os módulos Comunicação entre os módulos Conclusões Conclusões MelhoramentosMelhoramentos ConclusõesConclusões

16 16 Melhoramentos Damas3D Utilização de sockets para comunicação entre os dois módulos Utilização de sockets para comunicação entre os dois módulos Melhorar funções de avaliação do mini-max; Melhorar funções de avaliação do mini-max; Melhorar o próprio algoritmo para cortes Alpha-Beta. Melhorar o próprio algoritmo para cortes Alpha-Beta.

17 17 Conclusões Damas3D A linguagem de programação Prolog adequa-se perfeitamente ao tipo de aplicação que pretendiamos desenvolver, tendo sido bastante facil a sua aprendizagem. A linguagem de programação Prolog adequa-se perfeitamente ao tipo de aplicação que pretendiamos desenvolver, tendo sido bastante facil a sua aprendizagem. O Java3D embora seja muito fácil de utilizar sofre de sérias lacunas ao nível da performance. O Java3D embora seja muito fácil de utilizar sofre de sérias lacunas ao nível da performance. A interface utilizada para ligar as duas linguagens de programação, o Jasper, revelou-se muito dificil de utilizar, bem como pouco robusta. A interface utilizada para ligar as duas linguagens de programação, o Jasper, revelou-se muito dificil de utilizar, bem como pouco robusta.

18 18 Damas3D Nelson Jorge Silva Rodrigues – Ricardo Jorge Marques Veloso – Questões?


Carregar ppt "Damas3D Programação em Lógica Nelson Jorge Silva Rodrigues – ei00070 Ricardo Jorge Marques Veloso – ei00125."

Apresentações semelhantes


Anúncios Google