Hola amigos, seguramente será movido a aportes, pero me surdió la motivación para postearlo.

La otra vez estuve jugando mucho este juego (Fable), donde eliges diferentes decisiones y acciones, pero esto determina tu camino como "HÉROE" o "VILLANO". Me estuve preguntando cómo podría hacerse en AS, pero creo que le dí al clavo.

Para determinar un camino se hace a base de acciones buenas o malas (++ o --), entonces obviamente se usaría una variable Numérica tipo "int" (entero).

Así al final del juego y cada etapa, a base de este contador de decisiones determina qué camino has tomado.

Por lo tanto más o menos quedaría algo parecido en AS3:

Código ActionScript :

// Importamos el Evento del Teclado
import flash.events.KeyboardEvent;
// Creamos un contador tipo Entero, para que no haga decimales
var contador:int = 0;
// Añadimos el evento del teclado
stage.addEventListener(KeyboardEvent.KEY_DOWN, teclado);
// Con la función en ejecusión, contamos las decisiones
function teclado (evt:KeyboardEvent):void
{
   switch (evt.keyCode)
   {
      case 38:
         // Decisión Buena, Tleca Arriba
         contador++;
         miContador();
         trace("MÁS");
         trace("/////");
      break;
      
      case 40:
         // Decisión Mala, Tecla Abajo
         contador--;
         miContador();
         trace("MENOS");
         trace("/////");
      break;
   }
}
// Se invocó la función para saber qué tan malvados o héroe somos
// Pero obviamente esto se invoca al final de cada etapa (nivel)
function miContador ()
{
   if (contador >= 5)
   {
      trace("HÉROE");
   }
   else if (contador <= -5)
   {
      trace("VILLANO");
   }
   else
   {
      trace("NEUTRAL");
   }
}


También me tomé la libertad de hacerlo en AS2:

Código ActionScript :

var contador:Number = 0;

var teclado:Object = new Object();
teclado.onKeyDown = function()
{
   tecla = Key.getCode();
   if (tecla == 38)
   {
      contador++;
      miContador();
      trace("MÁS");
   }
   else if (tecla == 40)
   {
      contador--;
      miContador();
      trace("MENOS");
   }
}
teclado.onKeyUp = function()
{
   tecla = false;
}
Key.addListener(teclado);

function miContador ()
{
   if (contador >= 5)
   {
      trace("HÉROE");
   }
   else if (contador <= -5)
   {
      trace("VILLANO");
   }
   else
   {
      trace("NEUTRAL");
   }
}


Tal vez este tema no era para este foro, (sección en particular) y mucho menos un tema de complejidad, porque de verdad que es muy sencillo. Pero denme sus opiniones.