コード例 #1
0
    /// <summary>
    /// Dentro de este metodo se contemplan todas las percepciones que tiene el dron y con base a ellas
    /// se mueve dentro de la maquina de estados.
    /// </summary>
    /// <returns>percepcionActual, la percepcion del mundo que tiene el dron</returns>
    Percepcion PercibirMundo()
    {
        // La percepcion inicial que el dron tiene.
        Percepcion percepcionActual = Percepcion.NoCercaDePared;

        if (sensor.CercaDePared())
        {
            percepcionActual = Percepcion.CercaDePared;
        }

        if (sensor.FrenteAPared())
        {
            percepcionActual = Percepcion.FrenteAPared;
        }

        if (!sensor.FrenteAPared())
        {
            percepcionActual = Percepcion.NoFrenteAPared;
        }

        if (!sensor.CercaDePared())
        {
            percepcionActual = Percepcion.NoCercaDePared;
        }

        if (sensor.CercaDeObjeto())
        {
            percepcionActual = Percepcion.CercaDeObjeto;
        }

        if (sensor.FrenteAObjeto())
        {
            percepcionActual = Percepcion.FrenteAObjeto;
        }

        if (sensor.Bateria() < 50)
        {
            percepcionActual = Percepcion.BateriaBaja;
        }

        if (sensor.TocandoBase())
        {
            percepcionActual = Percepcion.TocandoBase;
        }

        return(percepcionActual);
    }