Pente. Autores André Santos Cardoso João Nuno Ferrreira Batista Ricardo Simão Garcez
|
|
- Ivan Henriques Santarém
- 6 Há anos
- Visualizações:
Transcrição
1 Aplicação em Prolog para um Jogo de Tabuleiro: Pente Autores André Santos Cardoso João Nuno Ferrreira Batista Ricardo Simão Garcez Faculdade de Engenharia da Universidade do Porto Departamento de Engenharia Informática 6 de Outubro de 2008
2 Aplicação em Prolog para um Jogo de Tabuleiro: Pente Autores André Santos Cardoso João Nuno Ferrreira Batista Ricardo Simão Garcez Trabalho realizado no âmbito da disciplina de Programação em Lógica, do 1 o semestre do 3 o ano, do Mestrado Integrado em Eng. Informática e Computação, da Faculdade de Engenharia da Universidade do Porto Docentes Daniel Moura daniel.c.moura@gmail.com Eugénio da Costa Oliveira eco@fe.up.pt Luís Paulo Reis lpreis@fe.up.pt Faculdade de Engenharia da Universidade do Porto Departamento de Engenharia Informática 6 de Outubro de 2008
3 Resumo Este trabalho visa a implementação do jogo de tabuleiro Pente em linguagem Prolog. O Pente é um jogo para 2 pessoas, com peças circulares cuja cor corresponde a cada um dos jogadores, que se colocam nas intersecções de uma matriz de 19X19, sendo as linhas horizontais do tabuleiro numeradas de 1 a 19 e as linhas verticais assinaladas por letras de A a T. O objectivo do jogo é formar linhas com 5 peças da mesma cor, em qualquer direcção possível, sendo que o primeiro jogador a conseguir fazê-lo ganha o jogo. A implementação final deverá permitir os seguintes modos de jogo: humano humano; humano computador; computador computador; Este relatório apresentará a primeira fase do projecto, descrevendo a representação do estado do jogo, como se processa uma jogada e como se visualiza o tabuleiro em modo de texto. Serão apresentados os predicados em Prolog que permitem a implementação do estado do jogo, visualização do tabuleiro e efectuar jogadas, assim como alguns algoritmos considerados relevantes neste contexto. Palavras-chave: Prolog, lógica, jogo, tabuleiro, Pente; iii
4 Conteúdo Resumo Conteúdo Lista de Figuras Listagens de Código iii iv v vi 1 Introdução 1 2 Descrição do Problema Background histórico do jogo Pente Regras do jogo de tabuleiro Pente Nomenclatura de Algumas Formações Restrições aplicadas para equilibrar o jogo entre brancas e pretas Captura das peças do adversário Implementação do jogo em Prolog Representação do tabuleiro/estado do jogo Representação de uma Jogada Visualização do Tabuleiro Conclusão e Perspectivas de Desenvolvimento 11 Referências 12 A Código Implementado em Prolog i B Exemplo de Funcionamento vi iv
5 Lista de Figuras 2.1 Tabuleiro de pente, evidenciando as peças do jogo Representação de um tabuleiro de Pente Primeira jogada das Brancas Captura Antes da jogada das Pretas Depois da jogada das Pretas as peças são capturadas Estado final Captura Múltipla Antes da jogada das Pretas Depois da jogada das Pretas as peças são capturadas Estado final B.1 Apresentação do tabuleiro vi B.2 Jogada das Brancas, Risco de Captura vii B.3 Captura viii B.4 Jogada Pretas ix B.5 Jogada Sobreposta x v
6 Listagens de Código 3.1 Representação do Tabuleiro Representação do Tabuleiro, após algumas jogadas Predicados para as Jogadas Predicados para Visualização do Tabuleiro A.1 Código Prolog para o Pente i vi
7
8 Capítulo 1 Introdução A implementação de um jogo de tabuleiro, que não implique elementos de sorte, serve como forma de aquisição de conhecimentos na área da programação em lógica onde, fazendo uso da linguagem de programação Prolog, seremos introduzidos a um novo paradigma da programação que, fazendo uso das regras de lógica, será aplicado à resolução de problemas facilitando a implementação correcta da mecânica de jogo e, numa fase mais avançada, uma inteligência artificial que se oponha a um jogador. Importa também referir que, até este momento, utilizamos quase exclusivamente linguagens de programação procedimental, sendo que este trabalho servirá também como uma primeira abordagem séria à programação em lógica usando Prolog. O grupo de trabalho desenvolveu o trabalho aqui apresentado em vários ambientes, nomeadamente diferentes sistemas operativos e interpretadores de prolog: Windows/Linux e Swi- Prolog/Sicstus Prolog. O objectivo do trabalho é desenvolver um módulo computacional em Prolog capaz de concretizar o jogo de tabuleiro Pente. Este é um jogo para 2 pessoas, no qual o objectivo é formar linhas de cinco peças consecutivas numa qualquer direcção. Para tal, é necessário desenvolver métodos de representar o estado do jogo em Prolog, assim como algoritmos que permitam a visualização do tabuleiro e toda a interacção com os jogadores. Além disto, será necessário implementar técnicas que permitam a inclusão de uma certa inteligência computacional de forma a que a aplicação permita modos de jogo humano computador e computador computador. Para este efeito, espera-se ainda incluir alguns algoritmos da área da Teoria dos Jogos como, por exemplo, MiniMax. Nesta primeira fase, interessa principalmente definir qual a representação mais adequada para o estado do jogo em Prolog, implementar o predicado que permita a visualização correcta do tabuleiro e os cabeçalhos dos predicados Prolog que permitam efectuar uma jogada. As próximas secções deste documento apresentam: Alguma história do jogo de tabuleiro Pente; As regras do jogo; Representação do estado do jogo em Prolog; Representação de uma jogada em Prolog; Visualização do tabuleiro e código Prolog para o efectuar; Conclusões acerca do trabalho efectuado sob um ponto de vista crítico; Todo o código escrito até ao momento assim como exemplos do módulo a funcionar. 1
9 Capítulo 2 Descrição do Problema O projecto baseia-se na implementação do jogo Pente para computador, utilizando Prolog como linguagem de programação. Este é um jogo de tabuleiro para duas pessoas, cujo objectivo é colocar as peças do jogo nas intersecções de uma matriz de 19 x 19 de forma a formar linhas de 5 peças consecutivas em qualquer direcção: horizontal, diagonal ou vertical. 2.1 Background histórico do jogo Pente O Pente foi criado em 1987 por Gary Gabrel. Diz-se que Gary inventou o jogo durante o seu trabalho como lavador de pratos numa pizzaria chamada The Hideaway em Stillwater, Oklahoma. Foi criado como uma simplificação do jogo Japonês ninuki-renju, uma variante de gomoku jogado num tabuleiro de Go de 19 x 19 intersecções, com peças brancas e pretas. O objectivo do jogo é formar linhas de 5 peças da mesma cor consecutivas, daí o seu nome Pente que significa em Grego cinco (5). A partir do jogo original, Rollie Tesh o então campeão de Pente, propôs uma mudança de regras para equilibrar o jogo ele afirmava que as brancas podiam sempre ganhar com um conjunto de jogadas apropriadas surgindo então uma variação de Pente chamada Keryo- Pente. A companhia Hasbro era quem detinha o direitos do jogo Pente. A Hasbro deixou de distribuir este jogo de tabuleiro em 1993, licenciando mais tarde o jogo à Winning Moves que trouxe de novo o jogo às lojas em 2004 [1]. 2.2 Regras do jogo de tabuleiro Pente Neste jogo existem dois tipos de peças brancas e pretas correspondendo a dois jogadores (figura 2.1). Cada jogador tem a sua vez após uma (1) jogada do adversário. Define-se jogada como sendo a colocação da peça do jogador correspondente numa intersecção vazia. O fim do jogo atinge-se no momento em que um jogador consegue formar uma linha de 5 peças suas consecutivas numa determinada direcção ou quando consegue capturar 10 peças do adversário. Esta situação corresponde à vitória do jogador. Por outro lado, também existe a possibilidade do jogo acabar em empate, quando todas as intersecções do tabuleiro se encontram usadas e nenhuma das situações anteriores se verificam. No entanto, esta é uma situação rara devido às características do jogo relativas à captura de peças. 2
10 Figura 2.1: Tabuleiro de pente, evidenciando as peças do jogo Figura 2.2: Representação de um tabuleiro de Pente O tabuleiro do jogo é como um tabuleiro de damas, apenas maior, com 19 x 19 intersecções(figura 2.2), em que as peças são jogadas não nos quadrados mas nas intersecções. 2.3 Nomenclatura de Algumas Formações Existem algumas formações/disposições de peças que são perigosas para o adversário e que podem levar ao fim do jogo. Estas têm nomes específicos: Tessera É uma linha com quatro peças, com pelo menos uma ponta aberta. Existem duas situações a analisar neste momento: se ambas as pontas da tessera estiverem abertas, então o jogador que formou a tessera irá ganhar na jogada seguinte, a não ser que o jogador adversário consiga capturar as peças do primeiro que formam a tessera. 3
11 Figura 2.3: Brancas Primeira jogada das se apenas uma das pontas estiver aberta, então o adversário tem oportunidade de bloquear a tessera, evitando assim a derrota. Tria Corresponde a uma linha com três peças de uma mesma cor consecutivas, com as pontas abertas. Esta situação está apenas a duas jogadas do Pente e da vitória do jogador. Se o jogador adversário não bloquear uma das pontas, na jogada a seguir forma-se uma tessera não bloqueável e o jogo encontra-se ganho. Pente Corresponde a uma situação de vitória, em que um jogador consegue formar uma linha com cinco das suas peças seguidas. É habitual o jogador que consegue atingir estas formações alertar o jogador adversário da situação[4]. 2.4 Restrições aplicadas para equilibrar o jogo entre brancas e pretas Como o jogador que inicia o jogo poderá ter maior probabilidade de ganhar o jogo, existem várias restrições aplicadas ao jogo de modo a equilibrar o jogo entre brancas e pretas. São as seguintes: As brancas iniciam o jogo. As brancas são obrigadas a iniciar o jogo no centro do tabuleiro 1 (figura 2.3). A segunda jogada das brancas é feita obrigatoriamente a pelo menos três intersecções de distância do centro do tabuleiro, onde a primeira jogada foi feita; Não existem restrições quanto às jogadas das peças pretas. 2.5 Captura das peças do adversário O Pente também inclui a possibilidade da captura de pares de peças adversárias. Para poder capturar peças adversárias, é necessário colocar as suas próprias peças nas "pontas"de uma 1 Na realidade, as regras originais publicadas pela Hasbro dizem que se deve tirar à sorte para ver qual o jogador que começa o jogo e este deve iniciar com uma jogada no centro do tabuleiro [2]. No entanto, este projecto não se aplica a jogos com qualquer componente de sorte, sendo esta regra posta de parte neste implementação. 4
12 2.4.1: Antes da jogada das Pretas 2.4.2: Depois da jogada das Pretas as peças são capturadas 2.4.3: Estado final Figura 2.4: Captura linha consecutiva de peças adversárias. A captura apenas se verifica quando o jogador consegue encurralar duas, e apenas duas, peças adversárias. É impossível capturar três peças adversárias, por exemplo. O processo de captura está evidenciado nas figuras 2.4.1, e Existe também a possibilidade de uma jogador fazer uma captura múltipla, encurralando mais do que um par de peças adversárias (nunca vários pares de peças consecutivas), por exemplo, colocando uma peça sua de modo a formar um vértice comum a duas linhas de peças adversárias, tal como está evidenciado nas figuras 2.5.1, e As peças apenas podem ser capturadas por "iniciativa"do adversário, ou seja, apenas são capturadas após uma jogada do jogador que captura. Portanto, se um jogador colocar uma peça numa posição tal que satisfaça uma situação de captura das suas próprias peças, estas não podem ser capturadas pelo adversário. 5
13 2.5.1: Antes da jogada das Pretas 2.5.2: Depois da jogada das Pretas as peças são capturadas 2.5.3: Estado final Figura 2.5: Captura Múltipla 6
14 Capítulo 3 Implementação do jogo em Prolog Aqui se apresentam algumas estruturas em prolog escolhidas para a implementação do jogo em Prolog, assim como algumas descrições dos algoritmos que irão ser utilizados para implementar as jogadas. 3.1 Representação do tabuleiro/estado do jogo Este jogo desenrola-se num tabuleiro quadrado de 19 X 19, portanto optou-se por uma representação em Prolog através de uma lista de listas. Listagem 3.1: Representação do Tabuleiro t a b u l e i r o _ i n i c i a l ( [ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], ] ). A representação em 3.1 mostra o estado inicial do tabuleiro, que corresponde também à jogada inicial das peças brancas, representadas pelo número 1. Esta jogada das brancas é obrigatória, portanto optou-se por incluí-la automaticamente no estado inicial dando a vez imediatamente ao jogador preto. Por exemplo, se existe nas coordenadas (1, 1) uma peça branca e em (2, 2) uma peça preta, a estrutura que alberga a representação do tabuleiro teria os dados mostrados no código
15 Listagem 3.2: Representação do Tabuleiro, após algumas jogadas. t a b u l e i r o _ i n i c i a l ( [ [ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], 4 [ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], 8 12 [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], ] ). 3.2 Representação de uma Jogada No Pente o jogador pode efectuar uma jogada em qualquer posição do tabuleiro desde que esta se encontre vazia (com excepção da segunda jogada das brancas), assim sendo, uma jogada pode ser representada apenas pelo jogador que a efectua, respectivamente um 0 ou e pelas coordenadas de colocação da peça. O processo de realização de uma jogada envolve dois passos distintos: um de validação e um subsequente que faz definitivamente a jogada, caso seja válida. O primeiro passo faz recurso ao predicado valida_jogada(x,y,tabuleiro,incremento), onde X e Y são as coordenadas do local onde se pretende fazer a jogada, Tabuleiro é o objecto onde se guardam as informações do tabuleiro e o Incremento é uma variável auxiliar de modo a se verificar se se atingiu o elemento pretendido da lista. Esta função percorre a lista de listas Tabuleiro e verifica se o elemento que está no local em que se pretende jogar (X e Y) é um 0, ou seja, se a intersecção estiver vazia, e não um 1 ou -1. O segundo passo recorre ao predicado joga(x, Y, Tabuleiro, Peca, Resto, Incremento) para colocar a peça no local pretendido, sendo a única informação adicional necessária, além da utilizada no predicado anterior, a peça, que representa a qual dos jogadores pertence a jogada (ou -1 ou 1). Ambos predicados são chamados pelo predicado jogar_jogador que apenas irá permitir que uma jogada seja feita se for indicada uma jogada válida. Este e outros predicados podem ser vistos no código 3.3. Para já, apenas existe este tipo de verificação, onde se decide se uma jogada é válida em determinada posição. Não se encontra implementado qualquer outro tipo de verificação como, por exemplo, o fim do jogo ou captura de peças. % I n i c i a o Jogo Listagem 3.3: Predicados para as Jogadas 8
16 s t a r t : t a b u l e i r o _ i n i c i a l ( T a b u l e i r o ), % I n i c i a o t a b u l e i r o 4 j o g a r ( T a b u l e i r o, 1,0,0). % Comeca a j o g a r %j o g a r (+ T a b u l e i r o,+ Jogador,+ ContagemJogador1,+ ContagemJogador2 ) 8 % T a b u l e i r o : % Jogador : % ContagemJogador1 : % ContagemJogador2 : 12 j o g a r ( T a b u l e i r o, Jogador, ContagemJogador1, ContagemJogador2 ) : ContagemJogador1 >= 10, % V e r i f i c a se o j o g a d o r 1 ganhou 16 w r i t e ( 'Ganhou jogador 1!!! ' ),! ; ContagemJogador2 >= 10, % V e r i f i c a se o j o g a d o r 2 ganhou w r i t e ( 'Ganhou jogador 2!!! ' ),! 20 ; % Faz j o g a d a s ( d e s e n h a _ t a b u l e i r o ( T a b u l e i r o ), 24 j o g a r _ j o g a d o r ( T a b u l e i r o, T a b u l e i r o F i n a l, Jogador, X,Y), O u t r o _ j o g a d o r i s Jogador, j o g a r ( T a b u l e i r o F i n a l, O u t r o _ j o g a d o r, ContagemJogador1, ContagemJogador2 ) ). 28 j o g a r _ j o g a d o r ( T a b u l e i r o, T a b u l e i r o F i n a l, Jogador, X, Y) : i f t h e n e l s e ( l e r _ j o g a d a (X, Y, Jogador, T a b u l e i r o ), 32 w r i t e ( 'Jogada valida!' ), ( w r i t e ( 'Jogada invalida!' ), nl, j o g a r _ j o g a d o r ( T a b u l e i r o, T a b u l e i r o F i n a l, Jogador, X, Y) ) ), J o g a d o r A d v e r s a r i o i s Jogador, % acho que i s t o e s t a a mais j o g a (X, Y, T a b u l e i r o, Jogador, T a b u l e i r o F i n a l, 1 ). l e r _ j o g a d a (X, Y, Jogador, T a b u l e i r o ) : 40 w r i t e ( 'Jogador ' ), w r i t e ( J o g a d o r ), nl, w r i t e ( 'X:' ), read (X), nl, 44 w r i t e ( 'Y:' ), read (Y), j o g a d a _ v a l i d a (X, Y, T a b u l e i r o, 1 ). 3.3 Visualização do Tabuleiro Para a visualização do tabuleiro, sendo este uma lista de listas em Prolog, utiliza-se um algoritmo que itera sobre cada uma das listas, chamando uma outra função que itera sobre este lista e, para cada elemento da lista, utiliza um predicada para o imprimir. Temos portanto três níveis: iterar sobre o tabuleiro, iterar sobre uma lista do tabuleiro e imprimir um elemento do tabuleiro. Para desenvolver estes predicados, o grupo baseou-se na implementação do jogo de damas disponível na página da disciplina [7]. 9
17 Os predicados que efectuam a escrita do tabuleiro em modo de texto podem ser vistos na listagem de código 3.4. Listagem 3.4: Predicados para Visualização do Tabuleiro d e s e n h a _ t a b u l e i r o ( T a b u l e i r o ) : nl, w r i t e ( ' A B C D E F G H I J L M N O P Q R S T' ), nl, ( m o s t r a _ l i n h a s ( 1, T a b u l e i r o ) ), 4 w r i t e ( ' A B C D E F G H I J L M N O P Q R S T' ), nl,!. %apenas mostra uma l i n h a com mais de 2 e l e m e n t o s % m o s t r a _ l i n h a s ( _, [ ] ). m o s t r a _ l i n h a s (N, [ Linha Resto ] ) : (N>9; N<10, w r i t e ( ' ' ) ), 12 w r i t e (N), w r i t e ( ' ' ), m o s t r a _ l i n h a ( Linha ), w r i t e ( ' ' ), w r i t e (N), nl, N2 i s N+1, m o s t r a _ l i n h a s ( N2, Resto ). 16 m o s t r a _ l i n h a ( [ ] ). m o s t r a _ l i n h a ( [ Elemento Resto ] ) : 20 t r a d u z ( Elemento ), m o s t r a _ l i n h a ( Resto ). 24 t r a d u z ( 0 ) : w r i t e ( '+ ' ). t r a d u z ( 1 ) : 28 w r i t e ( '0 ' ). t r a d u z ( 1): w r i t e ( '@ ' ). 10
18 Capítulo 4 Conclusão e Perspectivas de Desenvolvimento Cremos que os objectivos propostos para esta primeira entrega se encontram atingidos: a representação do estado do jogo encontra-se definida, a visualização do tabuleiro em modo de texto está também concluída, além dos predicados para a colocação de peças pelo jogador que estão também implementados. Além do referido acima, já existem também predicados que verificam se uma jogada pode ou não ser feita consoante a sua posição, ou seja, se a jogada não corresponde a uma casa do tabuleiro já ocupada. O jogo, tal como está, não inclui ainda nenhum tipo de inteligência, permitindo apenas o jogo entre humanos. Algo que ainda falta implementar são os predicados para verificação de fim do jogo. Portanto, o que existe neste momento corresponde a uma aplicação que mostra um tabuleiro e permite colocar peças em posições vazias do tabuleiro, não incluindo nenhum tipo de verificação de fim do jogo. Além disto, iremos também substituir o mecanismo de inserção de coordenadas, de modo a ser coerente com a representação do tabuleiro: inteiros para as linhas e letras maiúsculas para as colunas. Até ao momento de entrega deste relatório, esta situação não foi corrigida. Perante o trabalho efectuado, estimamos que foram atingidos cerca de 20% do trabalho necessário para o finalizar. Os objectivos mais próximos que são necessários atingir e nos quais o grupo centra a sua atenção de momento são a implementação dos predicados para verificação do fim do jogo e para verificar se existe ou não uma situação de captura de peças. 11
19 Referências [1] Board game encyclopedia: Pente. Pente.htm. Breves notas históricas acerca do Pente. Consultado em Outubro de [2] Pente, the classic game of skill. PDF, Regras originais do Pente. Consultado em Outubro de [3] Pente Descrição do jogo Pente. Consultado em Setembro de [4] Pente. Setembro Desrição do jogo Pente. Consultado em Setembro de [5] Patrick Blackburn, Johan Bos, and Kristina Striegnitz. Learn prolog now! coli.uni-saarland.de/~kris/learn-prolog-now/lpnpage.php?pageid=online, Tutorial online de Prolog. Consultado em Setembro de [6] Faculdade de Engenharia da Universidade do Porto. TRABALHOS PRÁTICOS DA DIS- CIPLINA DE PROGRAMAÇÃO EM LÓGICA, LP/0809/documents/Trabalhos/Trabalhos2008_09_PL.pdf Descrição dos trabalhos da disciplina. Consultado em Setembro de [7] Luis Paulo Reis. Programação em lógica 2008/ LP/0809/, Página da disciplina de Programação em Lógica. Materiais Diversos. 12
20 Apêndice A Código Implementado em Prolog Aqui se lista todo o código escrito, até ao momento, para a implementação do jogo Pente. Listagem A.1: Código Prolog para o Pente %Devido a problemas com o LATEX, por f a v o r, nao i n c l u i r c o m e n t a r i o s com 4 %a c e n t o s ou o u t r o s c a r a c t e r e s e s p e c i a i s n e s t e f i c h e i r o! %%%%%%%%%%%%%%%%%%%%%% TABULEIRO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 % % 12 %t a b u l e i r o de 19 x19 %os e l e m e n t o s da l i s t a r e p r e s e n t a m i n t e r s e c c o e s ( e a melhor maneira?) %a p r i m e i r a jogada ( nao n e g o c i a v e l ) das brancas e no c e n t r o do t a b u l e i r o, 16 %p o r t a n t o, o e s t a d o i n i c i a l pode c o n t a r i m e d i a t a m e n t e com e s s a jogada % %o e s t a d o tambem tem de c o n t a r com o numero de c a p t u r a s para cada j o g a d o r %assim como um v a l o r booleano para se poder d e c i d i r se as brancas j a podem 20 %j o g a r d e n t r o do quadrado r e s t r i c t o na p r i m e i r a jogada t a b u l e i r o _ i n i c i a l ( [ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], i
21 44 ). [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ] %%%%%%%%%%%%%%%%%%%%%%%%%% VISUALIZACAO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 48 d e s e n h a _ t a b u l e i r o ( T a b u l e i r o ) : nl, w r i t e ( ' A B C D E F G H I J L M N O P Q R S T' ), nl, 52 ( m o s t r a _ l i n h a s ( 1, T a b u l e i r o ) ), w r i t e ( ' A B C D E F G H I J L M N O P Q R S T' ), nl,!. 56 %apenas mostra uma l i n h a com mais de 2 e l e m e n t o s.... % m o s t r a _ l i n h a s ( _, [ ] ). m o s t r a _ l i n h a s (N, [ Linha Resto ] ) : 60 (N>9; N<10, w r i t e ( ' ' ) ), w r i t e (N), w r i t e ( ' ' ), m o s t r a _ l i n h a ( Linha ), w r i t e ( ' ' ), w r i t e (N), nl, N2 i s N+1, 64 m o s t r a _ l i n h a s ( N2, Resto ). m o s t r a _ l i n h a ( [ ] ). 68 m o s t r a _ l i n h a ( [ Elemento Resto ] ) : t r a d u z ( Elemento ), m o s t r a _ l i n h a ( Resto ). 72 t r a d u z ( 0 ) : w r i t e ( '+ ' ). 76 t r a d u z ( 1 ) : w r i t e ( '0 ' ). t r a d u z ( 1): 80 w r i t e ( '@ ' ). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JOGAR %%%%%%%%%%%%%%%%%%%%%%%%%%%%% 84 % I n i c i a o Jogo s t a r t : t a b u l e i r o _ i n i c i a l ( T a b u l e i r o ), % I n i c i a o t a b u l e i r o 88 j o g a r ( T a b u l e i r o, 1,0,0). % Comeca a j o g a r %j o g a r (+ T a b u l e i r o,+ Jogador,+ ContagemJogador1,+ ContagemJogador2 ) 92 % T a b u l e i r o : % Jogador : % ContagemJogador1 : % ContagemJogador2 : 96 ii
22 j o g a r ( T a b u l e i r o, Jogador, ContagemJogador1, ContagemJogador2 ) : ContagemJogador1 >= 10, % V e r i f i c a se o j o g a d o r 1 ganhou 100 w r i t e ( 'Ganhou jogador 1!!! ' ),! ; ContagemJogador2 >= 10, % V e r i f i c a se o j o g a d o r 2 ganhou w r i t e ( 'Ganhou jogador 2!!! ' ),! 104 ; % Faz j o g a d a s ( d e s e n h a _ t a b u l e i r o ( T a b u l e i r o ), 108 j o g a r _ j o g a d o r ( T a b u l e i r o, T a b u l e i r o F i n a l, Jogador, X,Y), O u t r o _ j o g a d o r i s Jogador, j o g a r ( T a b u l e i r o F i n a l, O u t r o _ j o g a d o r, ContagemJogador1, ContagemJogador2 ) ). 112 j o g a r _ j o g a d o r ( T a b u l e i r o, T a b u l e i r o F i n a l, Jogador, X, Y) : i f t h e n e l s e ( l e r _ j o g a d a (X, Y, Jogador, T a b u l e i r o ), 116 w r i t e ( 'Jogada valida!' ), ( w r i t e ( 'Jogada invalida!' ), nl, j o g a r _ j o g a d o r ( T a b u l e i r o, T a b u l e i r o F i n a l, Jogador, X, Y) ) ), j o g a (X, Y, T a b u l e i r o, Jogador, T a b u l e i r o F i n a l, 1 ). 120 l e r _ j o g a d a (X, Y, Jogador, T a b u l e i r o ) : w r i t e ( 'Jogador ' ), 124 w r i t e ( J o g a d o r ), nl, w r i t e ( 'X:' ), read (X), nl, w r i t e ( 'Y:' ), 128 read (Y), j o g a d a _ v a l i d a (X, Y, T a b u l e i r o, 1 ) %%%%%%%%%%%%%%%%%%%%%%%%%% VALIDACAO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 140 %j o g a d a _ v a l i d a ( X, Y, L i s t a s, I n c r e m e n t o ). %p e r c o r r e r o t a b u l e i r o a t e as coordenadas dadas para a jogada e v e r i f i c a r se o %e l e m e n t o n e s s a s coordenadas c o r r e s p o n d e a uma casa v a z i a j o g a d a _ v a l i d a ( _, _, [ ], _ ). %: w r i t e ( j o g a d a _ v a l i d a 0 ), n l. 144 % X d u p l i c a d o de modo a t e s t a r se os v a l o r e s da v a r i a v e i s sao i g u a i s j o g a d a _ v a l i d a (X, Y, [ Z Kr ],X) : %w r i t e ( j o g a d a _ v a l i d a 1 ), nl, 148 j o g a d a _ v a l i d a _ a l t (Y, Z, 1 ), X1 i s X+1, j o g a d a _ v a l i d a (X, Y, Kr, X1 ). 152 iii
23 j o g a d a _ v a l i d a (X, Y, [ K Kr ], I ) : %w r i t e ( j o g a d a _ v a l i d a 2 ), nl, 156 X\= I, I1 i s I +1, j o g a d a _ v a l i d a (X, Y, Kr, I1 ) %j o g a d a _ v a l i d a _ a l t ( X, L i s t a, I n c r e m e n t o ) j o g a d a _ v a l i d a _ a l t ( _, [ ], _ ). j o g a d a _ v a l i d a _ a l t (X, [ 0 Kr ],X) : X1 i s X+1, j o g a d a _ v a l i d a _ a l t (X, Kr, X1 ). j o g a d a _ v a l i d a _ a l t (X, [ K Kr ], I ) : I \=X, 172 I1 i s I +1, j o g a d a _ v a l i d a _ a l t (X, Kr, I1 ). 176 %joga ( X, Y, T a b u l e i r o, Peca, Resto, I n c r e m e n t o ). j o g a ( _, _, [ ], _, [ ], _ ). %: w r i t e ( joga0 ), n l. 180 j o g a (X, Y, [ K Kr ], Peca, [ Z J r ],X) : %w r i t e ( joga1 ), nl, j o g a _ a l t (Y, K, Peca, Z, 1 ), X1 i s X+1, 184 j o g a (X, Y, Kr, Peca, Jr, X1 ). j o g a (X, Y, [ K Kr ], Peca, [ K J r ], I ) : 188 %w r i t e ( joga2 ), nl, X\= I, I1 i s I +1, j o g a (X, Y, Kr, Peca, Jr, I1 ). 192 %j o g a _ a l t ( X, L i s t a, Peca, Resto, I n c r e m e n t o ) 196 j o g a _ a l t ( _, [ ], _, [ ], _ ). %: w r i t e ( j o g a _ a l t _ 0 ), n l. j o g a _ a l t (X, [ K Kr ], Peca, [ Peca J r ],X) : %w r i t e ( j o g a _ a l t _ 1 ), nl, 200 X1 i s X+1, j o g a _ a l t (X, Kr, Peca, Jr, X1 ). 204 j o g a _ a l t (X, [ K Kr ], Peca, [ K J r ], I ) : %w r i t e ( j o g a _ a l t _ 2 ), nl, I \=X, 208 I1 i s I +1, j o g a _ a l t (X, Kr, Peca, Jr, I1 ). iv
24 212 %%%%%%%%%%%%%%%%%%%%%%%%%%% Funcoes a u x i l i a r e s %%%%%%%%%%%%%%%%%%%% i f t h e n e l s e (X, Y, Z ) : X,!, Y. i f t h e n e l s e (X, Y, Z ) : Z. v
25 Apêndice B Exemplo de Funcionamento Este anexo apresenta alguns screenshots do interpretador Swi-Prolog a correr com a nossa implementação de Pente. Figura B.1: Depois de carregar o script apresentado no anexo A, inicia-se o jogo utilizando o predicado start/0. O tabuleiro é apresentado, já com a jogada inicial das brancas, e é perguntado ao jogador as coordenadas onde deseja jogar. vi
26 Figura B.2: Esta figura mostra-nos o tabuleiro já com algumas peças colocadas. Surge agora uma situação em que a próxima jogada das Pretas pode levar a uma situação de captura. vii
27 Figura B.3: Esta figura mostra-nos uma situação onde existe captura das peças brancas que estão encurraladas entre duas peças pretas. No entanto, este mecanismo de captura ainda não está implementado. viii
28 Figura B.4: Aqui, logo após o iniciar do jogo, as pretas jogam na casa (1, 1). Esta casa torna-se ocupada, portanto, é impossível jogar novamente nesta mesma casa. ix
29 Figura B.5: Após a jogada anterior, o jogador branco tenta jogar sobre a casa (1, 1). Esta figura mostra como a implementação do jogo detecta essa tentativa e não o permite, voltando a perguntar, ao mesmo jogar, uma nova casa para jogar. x
REGRAS DOS JOGOS do CNJM15
REGRAS DOS JOGOS do CNJM15 Semáforo Autor: Alan Parr 8 peças verdes, 8 amarelas e 8 vermelhas partilhadas pelos jogadores. Ser o primeiro a conseguir uma linha de três peças da mesma cor na horizontal,
Leia maisSpider 4 em Linha. (Trabalho 12) Relatório de Avaliação Intercalar do 1º Trabalho Prático da Disciplina de Programação em Lógica
Relatório de Avaliação Intercalar do 1º Trabalho Prático da Disciplina de Programação em Lógica Spider 4 em Linha (Trabalho 12) Grupo 55 (Turma 5) 80509011 ei08011@fe.up.pt André Daniel Moreira Pinto Riboira
Leia maisGatos & Cães Simon Norton, 1970s
Gatos & Cães Simon Norton, 1970s Um tabuleiro quadrado 8 por 8. 28 peças gato e 28 peças cão (representadas respectivamente por peças negras e brancas). Ganha o jogador que realizar a última jogada. zona
Leia maisGatos & Cães Simon Norton, 1970s
Gatos & Cães Simon Norton, 970s Um tabuleiro quadrado 8 por 8. 8 peças gato e 8 peças cão (representadas respectivamente por peças negras e brancas). Ganha o jogador que realizar a última jogada. zona
Leia maisSemáforo. Um tabuleiro retangular 4 por 3. 8 peças verdes, 8 amarelas e 8 vermelhas partilhadas pelos jogadores.
Semáforo Autor: Alan Parr Um tabuleiro retangular por. 8 peças verdes, 8 amarelas e 8 vermelhas partilhadas pelos jogadores. Ser o primeiro a conseguir uma linha de três peças da mesma cor na horizontal,
Leia maislivro das regras (provisório)
livro das regras (provisório) Avanço Autor: Dan Troyka, 2000 Um tabuleiro quadrado 7 por 7; 14 peças brancas e 14 peças negras. Um jogador ganha se chegar com uma das suas peças à primeira linha do adversário,
Leia maisJOGOS LIVRO REGRAS M AT E M Á T I CO S. 11.º Campeonato Nacional
Vila Real JOGOS M AT E M Á T I CO S.º Campeonato Nacional LIVRO DE REGRAS Semáforo Autor: Alan Parr Material Um tabuleiro retangular por. 8 peças verdes, 8 amarelas e 8 vermelhas partilhadas pelos jogadores.
Leia maisDistribuição de Jogos por Ciclo
REGRAS DOS JOGOS Distribuição de Jogos por Ciclo 1º CEB 2º CEB 3º CEB Sec. Semáforo x Gatos & Cães x x Rastros x x x Produto x x x Avanço x x Flume x 2 Semáforo Autor: Alan Parr 8 peças verdes, 8 amarelas
Leia maisSemáforo Autor: Alan Parr. Avanço Autor: Dan Troyka, Material Um tabuleiro quadrado 7 por peças brancas e 14 peças negras.
Avanço Autor: Dan Troyka, 2000 Material Um tabuleiro quadrado 7 por 7. 14 peças brancas e 14 peças negras. Objectivo posição inicial Um jogador ganha se chegar com uma das suas peças à primeira linha do
Leia maisMAC 115 Introdução à Ciência da Computação ROTHELO
MAC 115 Introdução à Ciência da Computação INSTITUTO DE FÍSICA - BACHARELADO NOTURNO SEGUNDO SEMESTRE DE 2010 Terceiro Exercício-Programa (EP3) Data de entrega: até 06 de dezembro de 2010 (2a.feira) ROTHELO
Leia maisRelatório de Avaliação Intercalar do 1º Trabalho Prático da Disciplina de Programação em Lógica
Capa Relatório de Avaliação Intercalar do 1º Trabalho Prático da Disciplina de Programação em Lógica Jogo Escolhido: Elementos do Grupo: Daniel Augusto Gama Castro Silva: Vasco Hugo Vinhas Gonçalves Moreira:
Leia mais1ª Colocação 10 pontos. 2ª Colocação 08 pontos. 3ª Colocação 06 pontos
Regras: Jogo do Xadrez 1. Sorteio: Os confrontos serão definido através de sorteio e relacionados no chaveamento da competição; A ordem de disputa será de acordo com a ordem de retira no sorteio. PS: 2
Leia mais4º Campeonato Nacional de Jogos Matemáticos AL, APM, SPM, UM 2007/2008
º Campeonato Nacional de Jogos Matemáticos AL, APM, SPM, UM 007/008 Semáforo Autor: Alan Parr Oito peças verdes, oito amarelas e oito vermelhas partilhadas pelos jogadores. Ser o primeiro a conseguir uma
Leia maisAprendendo a jogar Xadrez
O núcleo de xadrez da nossa Escola continua particularmente activo, e dando continuidade ao material produzido para o número anterior da nossa revista, onde detalhou a forma como se procede à anotação
Leia maisInteligência Artificial Projecto 2
Bantumi ESPECIFICAÇÕES O projecto destina-se a resolver um conjunto de problemas do jogo Bantumi utilizando métodos de procura em espaço de estados. Bantumi é um jogo derivado do jogo Mancala de origem
Leia mais2
Go Ludus História OGoé um jogo tradicional do Oriente. Surgiu na China há mais de 00 anos e foi introduzido no Japão em 00 d.c., sendo muito popular nos dois países. É um jogo de influência, com regras
Leia maisXADREZ REGRAS BÁSICAS INTRODUÇÃO O xadrez, diferentemente de muitos jogos, não depende de sorte. O desenvolver do jogo não depende do resultado de
XADREZ REGRAS BÁSICAS INTRODUÇÃO O xadrez, diferentemente de muitos jogos, não depende de sorte. O desenvolver do jogo não depende do resultado de dados ou das cartas que são tiradas do baralho. O resultado
Leia maisjogos romanos jogos romanos
Moinho» Na sua vez, cada jogador coloca 1 ficha no tabuleiro tentando colocar 3 peças em linha;» Quando todas as peças estiverem colocadas, os jogadores tentam movimentá- las de modo a colocar as fichas
Leia maisRegras para se jogar GO
Regras para se jogar GO Internacionalmente conhecido pelo nome Japonês Go (pronuncia-se Gô), este jogo tem o nome de Wei-chi na China e Baduk na Coréia, três potências mundiais deste jogo. Teve sua origem
Leia maisRelatório de Avaliação Intercalar do primeiro trabalho prático da cadeira de Programação em Lógica
Relatório de Avaliação Intercalar do primeiro trabalho prático da cadeira de Programação em Lógica Trabalho escolhido: Luta de Cavalos Elementos do Grupo: Carlos Eduardo Mesquita Frias: Nuno Ricardo Mesquita
Leia maisLAAB: Ludicidade Africana e Afrobrasileira.
UNIVERSIDADE FEDERAL DO PARÁ FACULDADE DE PEDAGOGIA CAMPUS DE CASTANHAL LAAB: Ludicidade Africana e Afrobrasileira. Coordenadora: Débora Alfaia Bolsista: Gabriela Paixão Castanhal- PA 2012 Oficina de Jogos
Leia maisApresentação do trabalho Dots-and-Boxes aos alunos de IIA 2007/2008
Apresentação do trabalho Dots-and-Boxes aos alunos de IIA 2007/2008 João Craveiro 12 e 13 de Novembro de 2007 Trabalho realizado para a edição 2006/2007 de IIA, por: Nuno Oliveira, João Craveiro, João
Leia maisManual básico de Go. MANUAL BÁSICO DE GO. Distribuição Gratuita.
MANUAL BÁSICO DE GO Distribuição Gratuita. Regras do GO: 1 As peças pretas começam a não ser que seja um jogo com handicap. 2 Os jogadores alternam suas jogadas, jogando-se uma peça por vez. 3 As peças
Leia maisSME Introdução à Programação de Computadores Primeiro semestre de Trabalho: jogo Semáforo
SME0230 - Introdução à Programação de Computadores Primeiro semestre de 2017 Professora: Marina Andretta (andretta@icmc.usp.br) Monitores: Douglas Buzzanello Tinoco (douglas.tinoco@usp.br) Amanda Carrijo
Leia maisEpaminondas. Ludus. Material
Epaminondas Ludus História Este jogo foi inventado por Robert Abbott em. Chamava-se originalmente Crossings e foi publicado pela primeira vez em em [GG]. Nessa altura, o jogo ocorria num tabuleiro de linhas
Leia maisO Manual do Bovo. Aron Bostrom Eugene Trounev Tradução: José Pires BOVO N 5
Aron Bostrom Eugene Trounev Tradução: José Pires BOVO N 5 2 Conteúdo 1 Introdução 5 2 Como jogar 6 3 Regras do Jogo, Estratégias e Sugestões 8 3.1 Regras do Jogo........................................
Leia maisCLAIM IT! THE CLAIM-JUMPING GAME de 2-5 jogadores, a partir dos 8 anos
[pg 1] CLAIM IT! THE CLAIM-JUMPING GAME de 2-5 jogadores, a partir dos 8 anos O tempo: 1855. A localidade: O oeste americano Você é um pesquisador de ouro, que alinha o seu território de sondagem e o defende
Leia maisPROJETO CLUBE DE MATEMÁTICA
CLUBE DE MATEMÁTICA "O jogo é um tipo de atividade que alia raciocínio, estratégia e reflexão com desafio e competição de uma forma lúdica muito rica." EB1/PE da Vargem Ano letivo 2016/2017 Índice PROJETO
Leia maisO jogo de Go. O tabuleiro e as pedras. Tabuleiro 19x19 Tabuleiro 13x13 9x9
O JOGO DE GO O jogo de Go O Go é um antigo jogo de tabuleiro e acredita-se ter surgido entre 2500 e 4000 anos atrás na China. É um jogo de regras simples, mas por outro lado é extremamente complexo. Segundo
Leia maisImplementação e Avaliação do Algoritmo MCTS-UCT para o jogo Chinese Checkers. Jhonny Moreira
Implementação e Avaliação do Algoritmo MCTS-UCT para o jogo Chinese Checkers Jhonny Moreira Introdução Introdução Na área da inteligência artificial (IA), a motivação é conseguir colocar os computadores
Leia maisSanto Cristo, RS. 14 de novembro de 2015.
2 a Olimpíada Escolar de Jogos Lógicos de Tabuleiro Santo Cristo, RS 14 de novembro de 2015. Apresentação Esta é a segunda edição da Olimpíada de Jogos Lógicos de Tabuleiro promovida pela Universidade
Leia mais12 = JL (DE UMA A TRÊS CASAS EM QUALQUER DIREÇÃO, INCLUSIVE R1 PARA OS PEÕES)
XADREZ DA SORTE MATERIAL UM TABULEIRO COMUM DE 64 CASAS. DOIS DADOS COMUNS. AS 32 PEÇAS DO JOGO DE XADREZ. PONTUAÇÃO DOS DADOS A PONTUAÇÃO PARA MOVIMENTAÇÃO É A SEGUINTE: 2 = R1 (RETORNA UMA CASA) 3 =
Leia maisRELATÓRIO DE AVALIAÇÃO INTERCALAR DO 1º TRABALHO PRÁTICO DA DISCIPLINA DE PROGRAMAÇÃO EM LÓGICA
RELATÓRIO DE AVALIAÇÃO INTERCALAR DO 1º TRABALHO PRÁTICO DA DISCIPLINA DE PROGRAMAÇÃO EM LÓGICA Jogo seleccionado: Angela Silva angela.silva@fe.up.pt Carlos Aldeias carlos.aldeias@fe.up.pt Faculdade de
Leia maisPROFESSORA: GEÓRGIA SOARES DISCIPLINA: EDUCAÇÃO FÍSICA CONTEÚDO: XADREZ AULA 2
PROFESSORA: GEÓRGIA SOARES DISCIPLINA: EDUCAÇÃO FÍSICA CONTEÚDO: XADREZ AULA 2 Questões 1. Como você conceituaria Jogo? 2. Quais as vantagens dos Jogos? 3. Classifique os tipos de Jogo. 4. Qual a diferença
Leia maisO peão Se um peão consegue chegar até a outra extremidade do tabuleiro(linha 8), ele é promovido. Um peão promovido é substituído, ainda na mesma jogada em que o movimento foi feito, por um cavalo, bispo,torreoudamadamesmacor.
Leia maisCAPÍTULO 1. Os elementos. O jogo de xadrez é um desafio para a mente. J. W. von Goethe O TABULEIRO DE XADREZ
CAPÍTULO 1 Os elementos O jogo de xadrez é um desafio para a mente. J. W. von Goethe O TABULEIRO DE XADREZ Joga-se xadrez sobre um tabuleiro quadrado, formado por 64 casas quadradas, sendo sua cor, alternadamente,
Leia maisAPÊNDICE C. Produto da Dissertação: Sequência de Atividades. Encontro 1 ( 2 períodos de 50 minutos)
1 APÊNDICE C Produto da Dissertação: Sequência de Atividades Encontro 1 ( 2 períodos de 50 minutos) Jogo trabalhado: PONG HAU K'I Regras do jogo: Cada jogador possui duas peças e o jogo começa com as peças
Leia maisPEGUE 10. Quantidade: 08 unidades
1 PEGUE 10 Materiais Um tabuleiro e 66 cartas redondas com os numerais de 1 a 7 nas seguintes quantidades: 1 22 cartas; 6-2 cartas; 2-16 cartas; 7-2 cartas; 3-12 cartas; Coringa 1 carta. 4-7 cartas; 5-4
Leia maisTabuleiro. Movimento das peças (torre)
Tabuleiro Posição inicial ¼¼¼¼ ¼¼¼¼ ¼¼¼¼ ¼¼¼¼ ¼¼¼¼ ¼¼¼¼ ¼¼¼¼ ¼¼¼¼ Uma linha é uma sequencia de oito casas dispostas de forma contigua horizontalmente. ¼¼¼¼ ¼¼¼¼ ¼¼¼¼ ¼¼¼¼ ¼¼¼¼ ¼¼¼¼ ¼¼¼¼ ¼¼¼¼ ÖÑÐÒ ÓÔÓÔÓÔÓÔ
Leia maisManual do Bovo. Aron Bostrom Eugene Trounev Tradução: Luiz Fernando Ranghetti BOVO N 5
Aron Bostrom Eugene Trounev Tradução: Luiz Fernando Ranghetti BOVO N 5 2 Conteúdo 1 Introdução 5 2 Como jogar 6 3 Regras do jogo, estratégias e dicas 7 3.1 Regras do jogo........................................
Leia maisRegulamento do Torneio de Matraquilhos
Regulamento do Torneio de Matraquilhos O Plano de Atividades e Orçamento da Associação de Estudantes do Externato Frei Luís de Sousa para o mandato 2013/2014 prevê a organização de um Torneio de Damas.
Leia maisInteligência Artificial Projecto 1
Bantumi ESPECIFICAÇÕES O projecto destina-se a resolver um conjunto de problemas do jogo Bantumi utilizando métodos de procura em espaço de estados. Bantumi é um jogo derivado do jogo Mancala de origem
Leia mais[ Arquitecturas Móveis ] 2017/2018
[ Arquitecturas Móveis ] 2017/2018 Relatório Chess Game Trabalho Prático de AMOV Hugo Santos, 21220593 Rafael Henriques, 21250203 2017/2018 [ Arquitecturas Móveis ] 1 Índice 1. INTRODUÇÃO 4 1.1. Descrição
Leia maisO Manual do KSquares. Matt Williams Revisão: Eugene Trounev Tradução: José Pires
Matt Williams Revisão: Eugene Trounev Tradução: José Pires 2 Conteúdo 1 Introdução 5 2 Como Jogar 6 3 Regras do Jogo, Estratégias e Sugestões 8 3.1 Regras do Jogo........................................
Leia maisO JOGO DE XADREZ. Vamos conhecer as peças que compõe o jogo: O Tabuleiro
O JOGO DE XADREZ O xadrez é um esporte intelectual, disputado entre duas pessoas que possuem forças iguais (peças) sobre um tabuleiro. Este jogo representa uma batalha em miniatura, onde cada lado comanda
Leia maisTigre de Bengala. Everest m. Kilimanjaro m. Nível do mar (0 m)
Tigre de Bengala Everest 8.850 m Kilimanjaro 5.900 m Pico da Neblina 3.000 m Nível do mar (0 m) www.inf.ufrgs.br/lobogames Tigre de Bengala e Caçadores Jogo de caça asiático, originalmente chamado de Leopardo
Leia maisABC DO XADREZ GUIA DE APRENDIZAGEM
AGRUPAMENTO VERTICAL DE ESCOLAS DE ARCOZELO ABC DO XADREZ GUIA DE APRENDIZAGEM A Coordenadora: Prof. Fernanda Marinho Regras Básicas A posição do Tabuleiro deve ser colocada de uma forma que o jogador
Leia maisComputação e Programação
Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 10 Exemplo de desenvolvimento de Programa Modular: Máquina de venda de bilhetes D.E.M. Área Científica de Controlo Automação e
Leia maisExplique que as regras do xadrez são diferentes das regras do Jogo de Peões. Agora, não se ganha mais uma partida ao levar um peão à
1 VI. O REI, XEQUE E XEQUE-MATE Objetivos desta lição: Praticar as regras para todas as peças de xadrez Resolver problemas com todas as peças Usar o xeque e regras de lances ilegais em posições elementares
Leia maisLógica de Programação
Lógica de Programação Universidade dos Açores Departamento de Matemática www.uac.pt/~hguerra!! do Gr. logiké, arte de raciocinar!! s. f., ciência que tem por objecto o estudo dos métodos e princípios que
Leia maisMódulo 2 Gestão de Base
Didáxis - Escola Cooperativa de Vale S. Cosme Módulo 2 Gestão de Base de Dados Aula Nº 77/78 20-02-2008 Sumário: Criação de relatórios. Criação de um relatório na vista de estrutura. Impressão p de um
Leia maisINTELIGÊNCIA ARTIFICIAL 2008/09
INTELIGÊNCIA ARTIFICIAL 2008/09 JOGOS Ex. 1) ( Teste 2005/06) Considere a seguinte árvore de procura de dois agentes. Reordene as folhas de modo a maximizar o número de cortes com uma procura da esquerda
Leia maisComo começar a Jogar? Para iniciar o jogo a forma mais fácil é ir a e começar a jogar.
Manual do Utilizador Como começar a Jogar? Para iniciar o jogo a forma mais fácil é ir a http://mega.ist.utl.pt/~jsnl/sudoku/ e começar a jogar. O que preciso para jogar? Precisa de um computador, ligação
Leia maisXADREZ NA UFG. Módulo I -Introdução. Prof. Dr. André Carlos Silva Profa. MSc. Elenice Maria Schons Silva
XADREZ NA UFG Módulo I -Introdução Prof. Dr. André Carlos Silva Profa. MSc. Elenice Maria Schons Silva História do Xadrez Benjamin Franklin disputando uma partida de xadrez, quadro do artista Edward Harrison
Leia maisPMR Computação para Mecatrônica
PMR3201 - Computação para Mecatrônica Prof. Thiago de Castro Martins Prof. Newton Maruyama Prof. Marcos de S.G. Tsuzuki Monitor: Pietro Teruya Domingues Exercício Programa 2 - Versão 2017 Resolvendo o
Leia maisComponentes do jogo. Um jogo de Dirk Henn para 2-6 jogadores a partir de 8 anos. Componentes do jogo básico
Um jogo de Dirk Henn para 2-6 jogadores a partir de 8 anos Tradução: Paula Faria Componentes do jogo 1 Tabuleiro Componentes do jogo básico 60 Peças de trilhos Frente: Verso: 61 Vagões de metrô Frente:
Leia maisJogos e Brincadeiras I. 1. Brincadeiras
Polos Olímpicos de Treinamento Curso de Combinatória - Nível 1 Prof. Bruno Holanda Aula 1 Jogos e Brincadeiras I 1. Brincadeiras Nesta primeira parte da aula resolveremos duas questões retiradas da Olimpíada
Leia maisProblema A Bolhas e baldes Nome do arquivo fonte: bolhas.c, bolhas.cpp ou bolhas.java
Problema A Bolhas e baldes Nome do arquivo fonte: bolhas.c, bolhas.cpp ou bolhas.java Andrea, e Marcelo são muito amigos e passam todos os finais de semana à beira da piscina. Enquanto Andrea se bronzeia
Leia maisJogo de Damas. Alunos: Sávio Mendes de Figueiredo Sômulo Nogueira Mafra
Jogo de Damas Alunos: Sávio Mendes de Figueiredo (savio@cos.ufrj.br) Sômulo Nogueira Mafra (somulo@cos.ufrj.br) Prof.: Inês dutra Inteligência artificial Coppe sistemas - UFRJ 1. Algumas Frases 2. Origens
Leia maisJOGOS Bruno Holanda, Fortaleza CE
JOGOS Bruno Holanda, Fortaleza CE Nível Iniciante Problemas sobre jogos estão entre os mais atrativos para a maioria dos alunos que estão iniciando o seu gosto pela matemática e, por isso, vêm ganhando
Leia maisProfessor: Paulo Adolfo Kepler (Zé)
Professor: Paulo Adolfo Kepler (Zé) INTRODUÇÃO Caro aluno! Você acaba de ingressar no fascinante mundo do Xadrez, o jogo de tabuleiro mais praticado no mundo. Você estará no comando de um poderoso exército,
Leia maisInteligência Artificial
Repescagem Segundo Teste 31 de Janeiro de 2014 10:30-12:00 1.º Enunciado Esta prova é constituída por 5 enunciados separados. Preencha cuidadosamente o nome e número na primeira página de cada um dos enunciados.
Leia maisTrabalho Final de Programação II. Xadrez. Integrantes: José Mauro Nazareth Cardoso Neto, Pablo Santana Satler, Juliano Rodrigues Rossi.
Trabalho Final de Programação II Xadrez Integrantes: José Mauro Nazareth Cardoso Neto, Pablo Santana Satler, Juliano Rodrigues Rossi. Professores: Crediné Menezes Orivaldo de Lira Tavares Vitória, 15 de
Leia maisPARCERIA APEA/SP E APCEF/SP
PARCERIA APEA/SP E APCEF/SP DATA / LOCAL: 29 e 30/09/2018 / CECOM - APCEF/SP REGULAMENTO TÉCNICO DAMAS Art. 1º. O torneio de Damas do VIII JOGOS DOS APOSENTADOS será realizado de acordo com as regras estabelecidas
Leia maisÁrvore de Jogos Minimax e Poda Alfa-Beta
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Árvore de Jogos Minimax e Poda Alfa-Beta Inteligência Artificial Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com
Leia maisNeste jogo, cada jogador assume o papel de um turista que visita Portugal, procurando sempre as melhores fotos de cada região.
Livro de regras Introdução PORTUGAL está na moda. Repleto de monumentos únicos e paisagens deslumbrantes, o país merece a tua visita. Viaja de Norte a Sul pelas diferentes regiões e guarda as recordações
Leia maisPROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 15
Exercício 1 PROGRAMAÇÃO DE COMPUTADORES I BCC701 2017-1 Aula Prática 15 No jogo Inventei, cada posição do tabuleiro é representada por suas coordenadas x e y e contém um número. O tabuleiro pode ser representado
Leia maisTorneio de Xadrez. Escola Básica Adriano Correia de Oliveira. Centro de Recursos Biblioteca Escolar
Torneio de Xadrez Escola Básica Adriano Correia de Oliveira Centro de Recursos Biblioteca Escolar Atividade do PAA do CRBE 2015/2016 Professor Frederico Oliveira Fonte: WEB Divertida e amiga, porque te
Leia maisEnunciar e aplicar as regras dos movimentos dos bispos Usar as regras dos movimentos para calcular lances e capturas Resolver problemas usando bispos
1 III. BISPOS Objetivos desta lição: Enunciar e aplicar as regras dos movimentos dos bispos Usar as regras dos movimentos para calcular lances e capturas Resolver problemas usando bispos O principal objetivo
Leia maisProjecto de Algoritmos e Estruturas de Dados
Projecto de Algoritmos e Estruturas de Dados Licenciatura em Engenharia Electrotécnica e de Computadores Licenciatura em Engenharia Electrónica 1 o ano, 2 o Semestre, 2005/2006 Instituto Superior Técnico
Leia maisJogos de tabuleiro por todos os lados
Jogos Jogos de tabuleiro por todos os lados Amplie o acervo e inclua esses importantes recursos didáticos na rotina de alunos e professores Daniele Pechi Qual foi a última vez que você viu os alunos jogando
Leia mais1.1. O jogo Neste jogo parte-se de um tabuleiro com um número ímpar de discos (no caso da figura abaixo são 9), dispostos em linha,
1. Jogo dos saltos 1.1. O jogo Neste jogo parte-se de um tabuleiro com um número ímpar de discos (no caso da figura abaixo são 9), dispostos em linha, e por um conjunto de fichas de 2 cores diferentes
Leia maisPROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO À DOCÊNCIA SUBPROJETO MATEMÁTICA UNIPAMPA BAGÉ Nível de Escola Justino Costa.
PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO À DOCÊNCIA SUBPROJETO MATEMÁTICA UNIPAMPA BAGÉ - 2017 Escola: Coordenadora do Supervisora na Nível de Escola Justino Costa Subprojeto: Escola: Ensino: Quintana
Leia maisFundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Primeira Parte 1. Nim
Fundamentos da Programação Ano lectivo 2013-14, 2 o Semestre Projecto Primeira Parte 1 Nim Nim é um jogo de estratégia matemática, que pode ser jogado casualmente usando um conjunto de objectos dispostos
Leia maisJOGOS COM GEOPLANO QUADRANGULAR
JOGOS COM GEOPLANO QUADRANGULAR 1. CAMINHOS CAMINHOS NÚMERO DE JOGADORES: 1,2 ou mais. OBJETIVO: Formar um caminho cujo percurso passa por todos os pontos do geoplano desde o canto superior esquerdo até
Leia maisJogo de Gamão. Introdução
Jogo de Gamão Introdução O Gamão (Backgammon) é um jogo para 2 oponentes, jogado em um tabuleiro que consiste em 24 triângulos chamados pontos (ou casas). Esses triângulos são de cores alternadas e agrupados
Leia maisIntrodução à Inteligência Artificial. Procura em contextos competitivos jogos (cont.)
Introdução à Inteligência Artificial Procura em contextos competitivos jogos (cont.) Sumário n Vimos Jogos de 2 jogadores n Determinísticos, soma nula, informação perfeita Estratégia óptima minimax Algoritmos
Leia maisMATERIAL: Tabuleiro e pinos (marcadores). São necessários 20 pinos para os cordeiros e 2 pinos para os tigres.
Cordeiros e tigres MATERIAL: Tabuleiro e pinos (marcadores). São necessários 20 pinos para os cordeiros e 2 pinos para os tigres. 1. O jogo começa com o tabuleiro vazio. 2. Quem está com os tigres ocupa
Leia maisEx. 1) Considere que a árvore seguinte corresponde a uma parte do espaço de estados de um jogo de dois agentes: f=7 f=7 f=1 f=2
LERCI/LEIC Tagus 2005/06 Inteligência Artificial Exercícios sobre Minimax: Ex. 1) Considere que a árvore seguinte corresponde a uma parte do espaço de estados de um jogo de dois agentes: Max Min f=4 f=7
Leia maisXXVI OLIMPÍADA BRASILEIRA DE MATEMÁTICA TERCEIRA FASE NÍVEL 1 (5ª e 6ª séries - Ensino Fundamental)
TERCEIRA FASE NÍVEL 1 (5ª e 6ª séries - Ensino Fundamental) PROBLEMA 1 Encontre todos os números naturais n de três algarismos que possuem todas as propriedades abaixo: n é ímpar; n é um quadrado perfeito;
Leia maisInformações sobre voos da TAP em Linguagem Natural
Informações sobre voos da TAP em Linguagem Natural Relatório Final Inteligência Artificial 3º ano do Mestrado Integrado em Engenharia Informática e Computação Elementos do Grupo: Nuno Machado Matos 080509140
Leia maisMódulo 1. Tabuleiro, peças, movimentos e capturas
Módulo 1 Tabuleiro, peças, movimentos e capturas O Tabuleiro O Xadrez é praticado entre duas pessoas, que comandam seus exércitos (brancas e negras). O objetivo do jogo é dar Xeque Mate ao rei adversário,
Leia maisXXI Olimpíada de Matemática do Estado do Rio Grande do Norte. Prova do Nível I Em 25/09/2010
XXI Olimpíada de Matemática do Estado do Rio Grande do Norte Prova do Nível I Em 25/09/2010 Problema 1 Um professor de Matemática definiu a seguinte operação entre dois números naturais: Ele exemplificou
Leia maisEste é um jogo para 1 a 4 pessoas com um tempo de jogo aproximado de 15 minutos por jogador.
LIVRO DE REGRAS Nã o q u er l Veja er as regr o a www video em s? 1 - Introdução.meb o.pt Em Portugal, durante o Verão, existem muitas festas populares, onde as pessoas se encontram na rua para festejar.
Leia maisPCI - Programação de Computadores I Trabalho Avaliativo - Semestral. Palavras Cruzadas
PCI - Programação de Computadores I Trabalho Avaliativo - Semestral Considerações! O trabalho semestral pode ser resolvido em dupla ou individual;! O(s) aluno(s) deve(m) ter total conhecimento sobre o
Leia maisAlguns Exercícios de Inteligência Artificial
Alguns Exercícios de Inteligência Artificial Ana Paula Tomás Nelma Moreira Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto email: {apt,nam}@ncc.up.pt 1997 1. Números
Leia maisAlgoritmos de retrocesso
Algoritmos de retrocesso Algoritmos em que se geram escolhas que vão sendo testadas e eventualmente refeitas Problemas para os quais não existem algoritmos eficientes: retrocesso é melhor que pesquisa
Leia maisO posicionamento inicial das peças assim como o formato do tabuleiro é como o que se mostra na figura seguinte:
Regras do Xadrez Introdução O jogo de Xadrez é jogado por dois jogadores. Um jogador joga com as peças brancas o outro com as pretas. Cada um inicialmente tem dezasseis peças: Um Rei, uma Dama, duas Torres,
Leia maisFundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Segunda Parte 1. Liberta o quadrado
Fundamentos da Programação Ano lectivo 2013-14, 2 o Semestre Projecto Segunda Parte 1 Liberta o quadrado O jogo Liberta o quadrado é um quebra-cabeças em que o jogador é confrontado com um tabuleiro de
Leia maisInstituto de Informática. Departamento de Informática Aplicada
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Instituto de Informática Departamento de Informática Aplicada INF01048 Inteligência Artificial Prof. Paulo Martins Engel Trabalho Prático - Relatório Final Carlos
Leia maisNº de jogadores 2 Tempo de jogo 15 minutos Idade a partir dos 10 anos
Nº de jogadores 2 Tempo de jogo 15 minutos Idade a partir dos 10 anos 1 Introdução: Neste jogo, cada jogador tem uma família de 3 elementos (Pai,Mãe e filho). Cada membro da família tem uma Escala de Poupança
Leia maisAprenda a jogar Xadrez!
GÊNESIS Então disse Deus: haja luz, e houve luz O xadrez, como o amor, como a música, tem o poder de fazer as pessoas felizes Siegbert Tarrash médico e pedagogo Informativo Educacional e Cultural - Itaúna
Leia maisPONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS PRÓ-REITORIA DE GRADUAÇÃO ESCOLA DE CIÊNCIAS EXATAS E DA COMPUTAÇÃO PLANO DE ENSINO
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS PRÓ-REITORIA DE GRADUAÇÃO ESCOLA DE CIÊNCIAS EXATAS E DA COMPUTAÇÃO PLANO DE ENSINO Disciplina: Técnicas de Programação I Curso: Engenharia de Computação/ Ciência
Leia maisJogos com Oponentes. March 7, 2018
Jogos com Oponentes March 7, 2018 Jogos com Oponentes ˆ Problemas de busca: não assumem a presença de um oponente ˆ Jogos: oponente INCERTEZA! ˆ Incerteza porque não se conhece as jogadas exatas do oponente
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ Nível 1 - POTI Aula 1 - Combinatória
UNIVERSIDADE FEDERAL DO PARANÁ Nível 1 - POTI Aula 1 - Combinatória Exercícios: 1. Maria inventou uma brincadeira. Digitou alguns algarismos na primeira linha de uma folha. Depois, no segunda linha, fez
Leia maisJogo King Relatório da Melhoria do Trabalho Inteligência Artificial. Tiago Fonseca, ei02100
Jogo King Relatório da Melhoria do Trabalho Inteligência Artificial Tiago Fonseca, ei02100 19 de Julho de 2005 Resumo Conteúdo 1 Introdução 3 1.1 Objectivo................................... 3 1.2 Motivação...................................
Leia maisDepartamento de Ciência de Computadores - FCUP Primeiro Teste de Inteligência Artificial / Sistemas Inteligentes (Duração: 2 horas)
Departamento de Ciência de Computadores - FCUP Primeiro Teste de Inteligência Artificial / Sistemas Inteligentes (Duração: horas) Nome: Data: 7 de Abril de 016 1) Considere a aplicação da busca em profundidade
Leia maisJogos em Teoria dos Jogos e em
3 Jogos em Teoria dos Jogos e em Computação A Teoria dos Jogos pode ser entendida como a análise matemática de qualquer situação que envolva um conflito de interesses com o intuito de indicar as melhores
Leia maisAlgoritmos de retrocesso
Algoritmos de retrocesso Algoritmos em que se geram escolhas que vão sendo testadas e eventualmente refeitas Problemas para os quais não existem algoritmos eficientes: retrocesso é melhor que pesquisa
Leia maisIntrodução: Objectivos do jogo: Componentes do jogo: Explicação das cartas Reis de Portugal
Introdução: Portugal, país com séculos de história. Um dos reinos mais influentes do Mundo, Dinastias que reinaram o país, dirigindo os destinos de um nobre povo. Terás o que é preciso para ser coroado
Leia mais