コード例 #1
0
    void SeleccionaObjetos()
    {
        MotorInferencia.DeterminarObjetivo();

        objetoObjetivo = MotorInferencia.Objetivo();
        colorObjetivo  = MotorInferencia.Color();
        tieneColores   = MotorInferencia.TieneColores();
        nivel          = MotorInferencia.nivel;
        dificultad     = MotorInferencia.dificultad;

        nivelLabel.GetComponent <Text>().text = string.Format("N: {0}, D: {1}", nivel + 1, dificultad + 1);

        switch (objetoObjetivo)
        {
        case Objeto.Paleta:
            if (tieneColores)
            {
                objetivoPaleta.GetComponent <Renderer>().material.color = DecodificadorDeColor.decodificar(colorObjetivo);
            }
            Destroy(objetivoPaletaDeHielo);
            Destroy(objetivoChocolate);
            break;

        case Objeto.PaletaDeHielo:

            if (tieneColores)
            {
                objetivoPaletaDeHielo.GetComponent <Renderer>().materials[1].color = DecodificadorDeColor.decodificar(colorObjetivo);
            }
            Destroy(objetivoPaleta);
            Destroy(objetivoChocolate);
            break;

        default:
            if (tieneColores)
            {
                objetivoChocolate.GetComponent <Renderer>().material.color = DecodificadorDeColor.decodificar(colorObjetivo);
            }
            Destroy(objetivoPaleta);
            Destroy(objetivoPaletaDeHielo);
            break;
        }
        switch (MotorInferencia.nivel)
        {
        case 0:
            audioSource.clip = AudioN1;
            Destroy(Canasta);
            break;

        case 1:
            audioSource.clip = AudioN2;
            Destroy(Canasta);
            break;

        default:
            audioSource.clip = AudioN3;
            break;
        }
        audioSource.Play();
    }
コード例 #2
0
    void Instanciar(Objeto objeto)
    {
        int[] cantidades = MotorInferencia.CantidadObjetos();

        for (int i = 0; i < cantidades[(int)objeto]; i++)
        {
            fabrica.crear(objeto);
        }
    }
コード例 #3
0
    // Start is called before the first frame update
    void Start()
    {
        fabrica = new FabricaDeObjetos(paleta, paletaDeHielo, chocolate);

        SeleccionaObjetos();

        tieneObstaculos = MotorInferencia.TieneObstaculos();

        IniciarJuego();
    }
コード例 #4
0
    public void Update()
    {
        transform.Rotate(direccion * velocidad * Time.deltaTime);

        if (!MotorInferencia.TieneColores())
        {
            if (objeto == Objeto.PaletaDeHielo)
            {
                GetComponent <Renderer>().materials[1].color = gradient.Evaluate(Mathf.PingPong(Time.time, 2.0f) / 2.0f);
            }
            else
            {
                GetComponent <Renderer>().material.color = gradient.Evaluate(Mathf.PingPong(Time.time, 2.0f) / 2.0f);
            }
        }
    }
コード例 #5
0
        public Tela(MotorInferencia motorInferencia, List <Fato> sistomas)
        {
            InitializeComponent();
            this.Size = new Size(500, 450);

            this.motorInferencia = motorInferencia;

            panel2.Visible  = true;
            panel2.Location = new Point(12, 25);

            panel3.Location   = new Point(12, 25);
            panel3.Visible    = false;
            panel1.Visible    = false;
            richTextBox3.Text = motorInferencia.baseConhecimento.ToString();
            foreach (Fato sintoma in sistomas)
            {
                listBox1.Items.Add(sintoma);
            }
        }
コード例 #6
0
ファイル: Click.cs プロジェクト: pabloaguiars/ar-adhd-project
    //private int dificultad;

    // Start is called before the first frame update
    void Start()
    {
        toquesBuenos = 0;
        toquesMalos  = 0;
        toques       = 0;

        clic         = false;
        clicAnterior = false;

        //Posicionamiento de objetos
        transform.position = Random.insideUnitSphere * 5;
        System.Enum.TryParse <Objeto>(gameObject.name, out objeto);

        objetivo        = MotorInferencia.Objetivo();
        colorObjetivo   = DecodificadorDeColor.decodificar(MotorInferencia.Color());
        CantidadObjetos = MotorInferencia.CantidadObjetivos();
        TieneColores    = MotorInferencia.TieneColores();
        SeMueven        = MotorInferencia.SeMueven();
        nivel           = MotorInferencia.nivel;
    }
コード例 #7
0
ファイル: Color.cs プロジェクト: pabloaguiars/ar-adhd-project
    // Start is called before the first frame update
    void Start()
    {
        //ColorObjeto colorObjeto = (ColorObjeto) Random.Range(0, 3);

        Objeto objeto;

        //Debug.Log(gameObject.name);
        System.Enum.TryParse <Objeto>(gameObject.name, out objeto);

        ColorObjeto colorObjeto = MotorInferencia.IteradorDeColores.Siguiente(objeto);

        TieneColores = MotorInferencia.TieneColores();

        if (objeto == Objeto.PaletaDeHielo)
        {
            GetComponent <Renderer>().materials[1].color = DecodificadorDeColor.decodificar(colorObjeto);
        }
        else
        {
            GetComponent <Renderer>().material.color = DecodificadorDeColor.decodificar(colorObjeto);
        }
    }
コード例 #8
0
    public GameObject crear(Objeto Objeto)
    {
        int[]      cantidades = MotorInferencia.CantidadObjetos();
        GameObject ObjetoDeJuego;

        switch (Objeto)
        {
        case Objeto.Paleta:
            ObjetoDeJuego      = Instantiate(objetos[(int)Objeto.Paleta], posicion, PALETA);
            ObjetoDeJuego.name = Objeto.Paleta.ToString();
            return(ObjetoDeJuego);

        case Objeto.PaletaDeHielo:
            ObjetoDeJuego      = Instantiate(objetos[(int)Objeto.PaletaDeHielo], posicion, PALETA_DE_HIELO);
            ObjetoDeJuego.name = Objeto.PaletaDeHielo.ToString();
            return(ObjetoDeJuego);

        default:
            ObjetoDeJuego      = Instantiate(objetos[(int)Objeto.Chocolate], posicion, CHOCOLATE);
            ObjetoDeJuego.name = Objeto.Chocolate.ToString();
            return(ObjetoDeJuego);
        }
    }
コード例 #9
0
        public RestauranteFuzzyLogic()
        {
            atendimento = new VariavelLinguistica <int>(0, 10);
            atendimento.AddTermo("Ruim", TipoFuncaoPertinencia.Trapezoidal, new float[] { -1, 0, 2.5f, 5 });
            atendimento.AddTermo("Medio", TipoFuncaoPertinencia.Triangular, new float[] { 2.5f, 5, 7.5f });
            atendimento.AddTermo("Bom", TipoFuncaoPertinencia.Trapezoidal, new float[] { 5, 7.5f, 10, 11 });

            comida = new VariavelLinguistica <int>(0, 10);
            comida.AddTermo("Ruim", TipoFuncaoPertinencia.Trapezoidal, new float[] { -1, 0, 2.5f, 5 });
            comida.AddTermo("Medio", TipoFuncaoPertinencia.Triangular, new float[] { 2.5f, 5, 7.5f });
            comida.AddTermo("Bom", TipoFuncaoPertinencia.Trapezoidal, new float[] { 5, 7.5f, 10, 11 });

            gorjeta = new VariavelLinguistica <int>(0, 15);
            gorjeta.AddTermo("Ruim", TipoFuncaoPertinencia.Trapezoidal, new float[] { -1, 0, 3.5f, 7.5f });
            gorjeta.AddTermo("Medio", TipoFuncaoPertinencia.Triangular, new float[] { 3.5f, 7.5f, 11 });
            gorjeta.AddTermo("Bom", TipoFuncaoPertinencia.Trapezoidal, new float[] { 7.5f, 11, 15, 16 });

            inferencia = new MotorInferencia();

            inferencia.VariaveisEstado.Add(atendimento);
            inferencia.VariaveisEstado.Add(comida);

            inferencia.VariaveisControle.Add(gorjeta);

            inferencia.AddRegra(new Regra()
                                .Se(atendimento, "Ruim", Conector.AND)
                                .Se(comida, "Ruim", Conector.AND)
                                .Entao(gorjeta, "Ruim", Conector.AND));

            inferencia.AddRegra(new Regra()
                                .Se(atendimento, "Medio", Conector.AND)
                                .Se(comida, "Ruim", Conector.AND)
                                .Entao(gorjeta, "Medio", Conector.AND));

            inferencia.AddRegra(new Regra()
                                .Se(atendimento, "Medio", Conector.AND)
                                .Se(comida, "Medio", Conector.AND)
                                .Entao(gorjeta, "Medio", Conector.AND));

            inferencia.AddRegra(new Regra()
                                .Se(atendimento, "Ruim", Conector.AND)
                                .Se(comida, "Medio", Conector.AND)
                                .Entao(gorjeta, "Ruim", Conector.AND));

            inferencia.AddRegra(new Regra()
                                .Se(atendimento, "Bom", Conector.AND)
                                .Se(comida, "Ruim", Conector.AND)
                                .Entao(gorjeta, "Medio", Conector.AND));

            inferencia.AddRegra(new Regra()
                                .Se(atendimento, "Bom", Conector.AND)
                                .Se(comida, "Medio", Conector.AND)
                                .Entao(gorjeta, "Bom", Conector.AND));

            inferencia.AddRegra(new Regra()
                                .Se(atendimento, "Medio", Conector.AND)
                                .Se(comida, "Bom", Conector.AND)
                                .Entao(gorjeta, "Bom", Conector.AND));

            inferencia.AddRegra(new Regra()
                                .Se(atendimento, "Bom", Conector.AND)
                                .Se(comida, "Bom", Conector.AND)
                                .Entao(gorjeta, "Bom", Conector.AND));
        }