Maquinas de Estado
-
Upload
dyhercules-s-lima -
Category
Documents
-
view
6 -
download
2
description
Transcript of Maquinas de Estado
FPS – Maquina de estado
Estados: Atirar, Abaixar, Pular, Fugir, Correr, Andar, Recarregar, Parado.
Grafo:
switch(currentState){case Andar:
if(inimigo==false)currentState=Andar;
else if(inimigo== true)currentState= Correr;
break;case Correr:
if(inimigo==false)currentState=Andar;
else if (obstacle==true&&inimigos==false)currentState=Pular;
else if (tunel== true&&inimigos==false)currentState=Abaixar;
else if (inimigo == true&&HP == HPinimigo&&Balas!=0)currentState=Atirar;
break;
case Pular:if(obstacle ==false);
currentState=Andar;break;
case Abaixar:if(tunel ==false);
currentState=Andar;break;
case Atirar:if(inimigo ==false);
currentState=Andar;else if (inimigo ==true&&HP<HPInimigo)
currentState=Fugir;else if (inimigo ==true&& Balas == 0)
currentState=Recarregar;break;
case Recarregar:if(inimigo==false)
currentState=Andar;else if(inimigo== true&&Balas==0)
currentState= Fugir;break;case Fugir:
if(inimigo==false)currentState=Andar;
else if(inimigo== true&& HP>HPInimigo&&Balas!=0)currentState= Atirar;
break;
Jogador – Maquina de Estado
Estados: Movimentar, Marcar, Desarmar, Tocar, Chutar, Cabecear, Lançar, Driblar, Correr, dominar
Grafo:
switch(currentState){case Movimentar:
if(rivalposse==true)currentState=Desarmar;
else if(equipeposse== true)currentState= Marcar;
break;case Desarmar:
if(bolaaeria==true)currentState=cabecear;
else if (obstacle==true&&inimigos==false)currentState=Pular;
else if (tunel== true&&inimigos==false)currentState=Abaixar;
else if (inimigo == true&&HP == HPinimigo&&Balas!=0)currentState=Atirar;
break;
case Marcar:if(obstacle ==false);
currentState=Andar;break;
case Marca:if(tunel ==false);
currentState=Andar;break;
case Atirar:if(inimigo ==false);
currentState=Andar;else if (inimigo ==true&&HP<HPInimigo)
currentState=Fugir;else if (inimigo ==true&& Balas == 0)
currentState=Recarregar;break;
case Recarregar:if(inimigo==false)
currentState=Andar;else if(inimigo== true&&Balas==0)
currentState= Fugir;break;case Fugir:
if(inimigo==false)currentState=Andar;
else if(inimigo== true&& HP>HPInimigo&&Balas!=0)currentState= Atirar;
break;
Estratégia em tempo real – Maquina de estado
Estados: Parado, Movimentar, atacar, fugir, trabalhar, Restaurar, patrulhar.
Grafo:
switch(currentState){case Movimentar:
if(rivalposse==true)currentState=Desarmar;
else if(equipeposse== true)currentState= Marcar;
break;case Desarmar:
if(bolaaeria==true)currentState=cabecear;
else if (obstacle==true&&inimigos==false)currentState=Pular;
else if (tunel== true&&inimigos==false)currentState=Abaixar;
else if (inimigo == true&&HP == HPinimigo&&Balas!=0)currentState=Atirar;
break;
case Marcar:if(obstacle ==false);
currentState=Andar;break;
case Marca:if(tunel ==false);
currentState=Andar;break;
case Atirar:if(inimigo ==false);
currentState=Andar;else if (inimigo ==true&&HP<HPInimigo)
currentState=Fugir;else if (inimigo ==true&& Balas == 0)
currentState=Recarregar;break;
case Recarregar:if(inimigo==false)
currentState=Andar;else if(inimigo== true&&Balas==0)
currentState= Fugir;break;case Fugir:
if(inimigo==false)currentState=Andar;
else if(inimigo== true&& HP>HPInimigo&&Balas!=0)currentState= Atirar;
break;