private void retiraPareceCima(Celula celCentral, Celula celCima)
    {
        Parede cima  = null;
        Parede baixo = null;

        foreach (Parede p in celCentral.paredes)
        {
            if (p.direcao == 0)
            {
                cima = p;
                break;
            }
        }
        foreach (Parede p in celCima.paredes)
        {
            if (p.direcao == 2)
            {
                baixo = p;
                break;
            }
        }

        Object.Destroy(cima.gameObject);
        Object.Destroy(baixo.gameObject);
        celCentral.paredes.Remove(cima);
        celCima.paredes.Remove(baixo);
    }
    private void retiraPareceEsquerda(Celula celCentral, Celula celEsquerda)
    {
        Parede esquerda = null;
        Parede direita  = null;

        foreach (Parede p in celCentral.paredes)
        {
            if (p.direcao == 3)
            {
                esquerda = p;
                break;
            }
        }
        foreach (Parede p in celEsquerda.paredes)
        {
            if (p.direcao == 1)
            {
                direita = p;
                break;
            }
        }

        Object.Destroy(esquerda.gameObject);
        Object.Destroy(direita.gameObject);
        celCentral.paredes.Remove(esquerda);
        celEsquerda.paredes.Remove(direita);
    }
Beispiel #3
0
        public void VerificarSeAParedeSuportaAPrateleira()
        {
            PrateleiraObj prateleira = new PrateleiraObj(0.20, 1.0, new Suporte(6.0, 4, null));
            Parede        parede     = new Parede(2.7, 3.0, prateleira);

            Assert.AreEqual(true, parede.SuportaPrateleira(), "Parede suporta prateleira - altura e largura compatíveis.");
        }
Beispiel #4
0
        public void VerificarSeAParedeSuportaAPrateleiraException()
        {
            PrateleiraObj prateleira = new PrateleiraObj(3, 1.0, new Suporte(6.0, 4, null));
            Parede        parede     = new Parede(2.7, 3.0, prateleira);

            var paredeEx = Assert.ThrowsException <Exception>(() => parede.SuportaPrateleira());

            Assert.AreEqual(paredeEx.Message, Parede.MensagemParedeNaoSuportaPrateleira);
        }
Beispiel #5
0
        public void VerificarMarcacaoLocalFuracao()
        {
            List <Furacao> listaFuros = new List <Furacao>();

            listaFuros.Add(new Furacao(0.20, 1)); // posição do primeiro furo - horizontal e vertical
            listaFuros.Add(new Furacao(0.40, 1)); // posição do segundo furo
            listaFuros.Add(new Furacao(0.60, 1)); // posição do terceiro furo
            listaFuros.Add(new Furacao(0.80, 1)); // posição do quarto furo

            Suporte suporte = new Suporte(0.20, 4, listaFuros);

            PrateleiraObj prateleira = new PrateleiraObj(0.20, 1.0, suporte);

            Parede parede = new Parede(2.7, 3.0, prateleira);

            Assert.AreEqual(true, parede.FuracaoOk(), "Furação compatível com a parede");
        }
Beispiel #6
0
        public void VerificarMarcacaoLocalFuracaoException()
        {
            List <Furacao> listaFuros = new List <Furacao>();

            listaFuros.Add(new Furacao(3.20, 1)); // posição do primeiro furo - horizontal e vertical
            listaFuros.Add(new Furacao(3.40, 1)); // posição do segundo furo
            listaFuros.Add(new Furacao(3.60, 1)); // posição do terceiro furo
            listaFuros.Add(new Furacao(3.80, 1)); // posição do quarto furo

            Suporte suporte = new Suporte(0.20, 4, listaFuros);

            PrateleiraObj prateleira = new PrateleiraObj(0.20, 1.0, suporte);

            Parede parede = new Parede(2.7, 3.0, prateleira);

            var paredeEx = Assert.ThrowsException <Exception>(() => parede.FuracaoOk());

            Assert.AreEqual(paredeEx.Message, Parede.MensagemFuracaoIncompativel);
        }
    public Celula(int id, GameObject g)
    {
        this.id    = id;
        visitada   = false;
        gameObject = g;

        vizinhos = new List <Celula>();
        filhos   = new List <Celula>();

        paredes = new List <Parede>();
        foreach (Transform child in gameObject.transform.GetChild(0))
        {
            Parede p = new Parede(child.gameObject, this);
            paredes.Add(p);
        }

        HScore = 0;
        GScore = -1;
    }