Sunteți pe pagina 1din 11

ANHANGUERA EDUCACIONAL FACULDADE DE SO JOS DOS CAMPOS

ATIVIDADES PRTICAS SUPERVISIONADAS

5 SEMESTRE DE CINCIAS DA COMPUTAO

MQUINAS DE ESTADOS FNITOS


As mquinas de estados finitos (Finite State Machines - FSM) possuem tcnicas analticas poderosas dado que possvel explorar todas as possveis sequncias de estados. Alm disso, o alfabeto de entrada e de sada destas mquinas permite representar uma grande variedade de situaes. Quando o nmero de estados reduzido e quando o alfabeto de entrada e de sada so finitos e pequenos, podemos descrever a mquina de estados atravs de um diagrama de transio de estados. Muito utilizada na rea de games a FSM pode ser utilizada para o mapeamento de movimentos de personagens. Exemplo: Dependendo do estado do oponente (atacando, defendendo, recuando) o NPC (non player character) ir efetuar uma estratgia de luta ou combinao de movimentos, ou seja, ter uma inteligncia artificial. Uma FSM pode atender demanda da maioria dos jogos de luta. O mapeamento de estados utilizado inclusive para os comandos do jogador. O Hadouken baseado na FSM, observe os movimentos abaixo:

-2DOCUMENT1

ETAPA 1
Nesta etapa da atividade prtica supervisionada consiste na aplicao dos conhecimentos adquiridos nas primeiras aulas de Teoria da Computao. Desafio proposto: Considerar que o seu grupo de estudos foi designado a propor a construo de um game. O cliente solicita que a entrega do trabalho no seja implementado em nenhuma linguagem de programao especfica, mas sim que o grupo entregue um diagrama que dever ser interpretado pelos programadores da prpria empresa na implementao do game. Em outras palavras, a empresa deseja adquirir um planejamento do game, um trabalho especfico para cientistas da computao. As regras do game so as seguintes: O game constitui-se num tabuleiro com 7 casas. O usurio dever entrar na primeira casa e ir avanando pelo tabuleiro at atingir a ltima casa, denominada FINAL. Para que o usurio avance pelas casas, ele precisa jogar um dado e obedecer s seguintes regras: para avanar da casa 1 para a 2, ele deve tirar 1 no dado. Caso contrrio ele deve permanecer na casa 1. para avanar da casa 2 para a casa 3, ele deve tirar 2 no dado. Caso contrrio ele deve continuar na casa 2. para avanar da casa 3 para a casa 4, ele deve tirar 3 no dado. Caso tirar o nmero 2, ele retorna para a casa 2. Caso seja qualquer outro nmero, ele deve permanecer na casa 3. para avanar da casa 4 para a casa 5, ele deve tirar 4 no dado. Caso tirar o nmero 3, ele retorna para a casa 3. Caso seja qualquer outro nmero, ele deve permanecer na casa 4. para avanar da casa 5 para a casa 6, ele deve tirar 5 no dado. Caso tirar o nmero 4, ele retorna para a casa 4. Caso seja qualquer outro nmero, ele deve permanecer na casa 5. para avanar da casa 6 para a casa FINAL, ele deve tirar 6 no dado. Caso tirar o nmero 5, ele retorna para a casa 5. Caso seja qualquer outro nmero, ele deve permanecer na casa 6.

-3DOCUMENT1

Representao grfica do jogo:

-4DOCUMENT1

-5DOCUMENT1

Representao com mquina de estado

Simulao dos dados Para realizar os testes do jogo foi utilizado o JFLAP uma ferramenta em Java para trabalhar os conceitos de autmatos e mquinas de Turing.

N da Jogada 1 2 3 4 5 6 7 8 9 10 11

Face do Dado 1 2 3 4 5 5 4 3 4 5 6

Incio do jogo

1 Jogada: Face 1

-6DOCUMENT1

2 Jogada: Face 2

3 Jogada: Face 3

4 Jogada: Face 4

5 Jogada: Face 5
-7DOCUMENT1

6 Jogada: Face 5

7 Jogada: Face 4

8 Jogada: Face 2

9 Jogada: Face 4
-8DOCUMENT1

10 Jogada: Face 5

11 Jogada: Face 6

-9DOCUMENT1

- 10 DOCUMENT1

REFERNCIA BIBLIOGRFICA
WIKIPDIA, A ENCICLOPDIA LIVRE, Abril/2011. Grupide (estrutura algbrica). Disponvel em: < http://pt.wikipedia.org/wiki/Grupoide_(estrutura_algbrica)> Acesso em: 01 out. 2011. MICHAEL FORGE, Agosto/2010. Grupides e Algebrides de Lie. Disponvel em: <http://www.ime.usp.br/~forger/pdffiles/grupoid.pdf> Acesso em: 01 out. 2011. DANIEL AMARAL, Setembro/2006. Introduo a Teoria dos Grafos. Disponvel em: <http://danielamaral.wikidot.com/introducao-a-teoria-dos-grafos> Acesso em: 01 out. 2011. TIAGO MADEIRA, Janeiro/2006. Representando Grafos na Programao. Disponvel em: <http://algoritmos.tiagomadeira.net/representando-grafos-na-programacao> Acesso em: 01 out. 2011. ADRITO ARAJO, Agosto/2011. As pontes de Knigsberg. Disponvel em: <http://www.mat.uc.pt/~alma/escolas/pontes> Acesso em: 01 out. 2011. ABSINT, Maio/2008. Exemplos de grafos. Disponvel em: <http://www.absint.com/aisee/exemplos.htm> Acesso em: 01 out. 2011.

http://www.dcc.fc.up.pt/~zp/aulas/9900/me/trabalhos/alunos/Automatos/intro.html

- 11 DOCUMENT1

S-ar putea să vă placă și