Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Maquinas de Estado
Maquinas de Estado
switch(currentState){
case Andar:
if(inimigo==false)
currentState=Andar;
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;
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;
Jogador Maquina de Estado
Estados: Movimentar, Marcar, Desarmar, Tocar, Chutar, Cabecear, Lanar, Driblar, Correr, dominar
Grafo:
switch(currentState){
case Movimentar:
if(rivalposse==true)
currentState=Desarmar;
else if(equipeposse== true)
case Recarregar:
if(inimigo==false)
currentState=Andar;
else if(inimigo== true&&Balas==0)
currentState= Fugir;
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;
break;
case Fugir:
if(inimigo==false)
currentState=Andar;
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;
Estratgia 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)
case Recarregar:
if(inimigo==false)
currentState=Andar;
else if(inimigo== true&&Balas==0)
currentState= Fugir;
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;
break;
case Fugir:
if(inimigo==false)
currentState=Andar;
else if(inimigo== true&& HP>HPInimigo&&Balas!=0)
currentState= Atirar;
break;