1 / 18

Damas3D

Damas3D. Programação em Lógica. Nelson Jorge Silva Rodrigues – ei00070 Ricardo Jorge Marques Veloso – ei00125. Damas3D. Enquadramento Introdução ao jogo Módulo de lógica Módulo de visualização Comunicação entre os módulos Conclusões. Damas3D. Enquadramento.

Download Presentation

Damas3D

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Damas3D 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).

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

  5. Damas3D Introdução ao jogo O jogo resume-se a um tabuleiro de 8x8 casas, alternadamente brancas e pretas, ordenadas alfabeticamente nas colunas e numeradas nas linhas. Regras • 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.

  6. Introdução ao jogo 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 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. Objectivo do 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.

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

  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 branca “@” – Peça simples preta “B” – Dama branca “P” – Dama Preta

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

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

  11. Módulo de visualização Damas3D 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. Módulo de visualização Damas3D Existe a possibilidade de mudar o aspecto do ambiente de jogo e de ver o filme do jogo.

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

  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. Damas3D • Enquadramento • Introdução ao jogo • Módulo de lógica • Módulo de visualização • Comunicação entre os módulos • Conclusões • Melhoramentos • Conclusões

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

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

  18. Damas3D Questões? Nelson Jorge Silva Rodrigues – ei00070@fe.up.pt Ricardo Jorge Marques Veloso – ei00125@fe.up.pt

More Related