kalah
O Kalah é um jogo de tabuleiro que segundo alguns autores tem influência positiva na aprendizagem dos conceitos fundamentais da Matemática.
Objectivos
O jogo é jogado num tabuleiro composto por 12 buracos e 2 depósitos. Cada jogador dispõe de 6 buracos e 1 depósito (denominado por kalah).
Inicialmente, os depósitos apresentam zero pedras e os restantes buracos um número fixo e igual de pedras. Em cada jogada esvazia-se um buraco e as suas pedras são distribuídas uma a uma pelos buracos seguintes, no sentido contrário aos ponteiros do relógio. O único buraco onde não se coloca uma pedra é no Kalah do adversário.
Quando um dos jogadores não possui mais pedras para jogar, o jogo termina e as pedras restantes vão para o Kalah do adversário.
Ganha o jogador que possuir mais pedras no seu Kalah.
Técnicas e Métodos
A ideia é simular as jogadas possíveis de ambos os jogadores, com a finalidade de determinar qual a melhor jogada (mais vantajosa). Esta simulação é feita utilizando o algoritmo Minimax com os cortes Alfa-Beta. O algoritmo Minimax constroi uma árvore, onde estão representadas as jogadas. Ao mesmo tempo que se aplica os cortes Alfa-Beta, que corta ramos da árvore que não são necessários explorar, tornando o algoritmo mais eficiente.
Implementação
Foi utilizada a linguagem Tcl/Tk para a implementação do jogo Kalah. A interface do jogo para além de ser fácil de utilizar é instrutiva. O utilizador pode consultar o computador para saber qual a jogada que este executaria no seu lugar, assim como consultar as jogadas anterioremente executadas. Sempre que o jogador executa uma jogada, o lance é mostrado passo a passo pelo programa, podendo o utilizador inclusive alterar a velocidade do interface para acompanhar com maior precisão as alterações efectuadas no tabuleiro de jogo.