Grupo Wald Meister_1
- André dos Santos Faria Relva (up202108695) - 50%
- Rui Pedro Almeida da Silveira (up202108878) - 50%
WaldMeister
Para instalar o jogo, basta consultar o arquivo waldmeister.pl na pasta do projeto. Todas as dependências necessárias serão carregadas automaticamente.
O predicado play.
inicia a aplicação.
O WaldMeister é um jogo de tabuleiro para 2 jogadores que desejam moldar uma floresta de acordo com seus objetivos. Cada jogador começa com 27 árvores, com diferentes alturas e cores. Os jogadores movem e colocam, à vez, as árvores no tabuleiro, com um jogador tentando criar grupos de acordo com a altura e o outro tentando criar grupos de acordo com a cor.
O objetivo é criar grupos de árvores de acordo com as regras específicas do jogo, e o jogador com a soma mais alta de grupos vence.
O estado do jogo é representado por um par (Tabuleiro-Jogador), onde o Tabuleiro é uma lista de listas que representa o tabuleiro de jogo e o Jogador indica qual jogador está no turno.
O predicado display_game(+GameState)
aceita um estado de jogo e mostra na consola o estado atual do tabuleiro.
O predicado move(+GameState, +From, +To, -NewGameState)
permite aos jogadores mover e colocar árvores no tabuleiro de acordo com as regras do jogo.
O predicado game_over(+GameState, -Winner)
determina o vencedor do jogo em um dado estado.
O predicado valid_moves(+GameState, -ListOfMoves)
retorna a lista de jogadas válidas para avançar em um dado estado de jogo.
Avaliar o estado do jogo é crucial para a tomada de decisões dos jogadores. O predicado value(+GameState, +Player, -Value)
calcula uma pontuação baseada nas jogadas disponíveis para cada jogador.
O computador escolhe sua jogada de forma aleatória e com base em uma heurística que busca a melhor jogada no momento, maximizando a pontuação do jogador.
O projeto do WaldMeister foi concluído com sucesso, atingindo todas as metas estabelecidas. O código está bem estruturado, modular e eficiente.