Пример #1
0
        public void ValidarSudokuCompletoComValoresRepetidosNaVerticalEmQuadrante9x9()
        {
            var quadrantes = new List <Quadrante>();

            Quadrante quadrante = new Quadrante();

            // quadrantes 1-2-3
            quadrantes.Add(new Quadrante(new int[] { 9, 4, 7, 6, 1, 3, 8, 5, 2 }));
            quadrantes.Add(new Quadrante(new int[] { 1, 6, 2, 8, 5, 7, 4, 9, 3 }));
            quadrantes.Add(new Quadrante(new int[] { 3, 5, 8, 9, 2, 4, 1, 7, 6 }));

            // quadrantes 4-5-6
            quadrantes.Add(new Quadrante(new int[] { 9, 0, 0, 0, 0, 0, 0, 0, 0 }));
            quadrantes.Add(new Quadrante(new int[] { 3, 8, 4, 9, 2, 6, 7, 1, 5 }));
            quadrantes.Add(new Quadrante(new int[] { 5, 6, 7, 4, 3, 1, 2, 8, 9 }));

            // quadrantes 7-8-9
            quadrantes.Add(new Quadrante(new int[] { 8, 0, 0, 0, 0, 0, 0, 0, 0 }));
            quadrantes.Add(new Quadrante(new int[] { 6, 3, 8, 2, 4, 1, 5, 7, 9 }));
            quadrantes.Add(new Quadrante(new int[] { 7, 4, 5, 6, 9, 3, 8, 1, 2 }));


            var quadranteCheio = quadrante.FormarQuadrante9x9(quadrantes);

            sudoku.quadrante = quadranteCheio;

            sudoku.validarVerticais();
        }
Пример #2
0
        public ActionResult Create(FormCollection dadosNovos)
        {
            //Falta: seleccioncar um quadrante  já feito com perguntas
            //id selecionado no dropdown já aqui vem;
            if (string.IsNullOrEmpty(dadosNovos["nome"]) == true)
            {
                ModelState.AddModelError("nome", "Deve Introduzir um nome válido para a técnica");
            }

            if (ModelState.IsValid == true)
            {
                Tecnica newTecnica = new Tecnica();

                newTecnica.nome         = dadosNovos["nome"];
                newTecnica.idUtilizador = Convert.ToInt32(Session["idUtilizadorAutenticado"]);

                //newTecnica.FlsComplete = dadosQuadrante["FlsComplete"];
                //inser a "newTecnica" no conjunto de Dados na base de dados;
                db.Tecnicas.InsertOnSubmit(newTecnica);
                db.SubmitChanges();

                Quadrante newQuadrante = new Quadrante();

                //db.Quadrantes.Select(Func<Quadrante, idquadrante>);
                return(RedirectToAction("Index"));
            }
            else
            {
                return(View());
            }
        }
Пример #3
0
        public static void imprimir(Quadrante quadrante)
        {
            Console.WriteLine("");
            Console.WriteLine("");

            if (quadrante.valores == null)
            {
                Console.WriteLine("Preencha os quadrantes!");
                Console.ReadLine();
                return;
            }

            for (int i = 0; i < quadrante.qtdLinhas; i++)
            {
                for (int j = 0; j < quadrante.qtdColunas; j++)
                {
                    Console.Write(" {0} ", quadrante.valores[i, j]);
                    if (j == 2 || j == 5)
                    {
                        Console.Write("\t");
                    }
                }
                Console.Write("\n");
                if (i == 2 || i == 5)
                {
                    Console.Write("\n\n");
                }
            }

            Console.ReadLine();
        }
Пример #4
0
        public TestesViewModel()
        {
            teste         = new Teste();
            tecnica       = new Tecnica();
            quadrante     = new Quadrante();
            perguntasList = new List <Pergunta>();

            perguntaImportancias = new string[] { "Totalmente sem importância", "Pouca importância", "Importante", "Muito importante", "Totalmente importante" };
        }
Пример #5
0
        public void ErroAoPassarMenosQue9Quadrantes()
        {
            var quadrantes = new List <Quadrante>();

            Quadrante quadrante = new Quadrante();

            quadrantes.Add(new Quadrante(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }));
            quadrantes.Add(new Quadrante(new int[] { 2, 4, 6, 7, 8, 9, 5, 1, 3 }));
            quadrantes.Add(new Quadrante(new int[] { 8, 9, 7, 6, 5, 4, 3, 2, 1 }));

            quadrante.FormarQuadrante9x9(quadrantes);
        }
Пример #6
0
        public void Retorna9LinhasE9Colunas()
        {
            var quadrantes = new List <Quadrante>();

            for (int i = 0; i < 9; i++)
            {
                quadrantes.Add(new Quadrante(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }));
            }

            var quadranteCompleto = new Quadrante().FormarQuadrante9x9(quadrantes);

            Assert.AreEqual(9, quadranteCompleto.qtdColunas);
        }
Пример #7
0
        public ActionResult EditQuadrante(FormCollection dadosNovos, int id)
        {
            //Verifica cada dado introduzido pelo utilizador por inconsistências (se os campos estão preenchidos, se os campos são válidos, etc.)
            if (string.IsNullOrEmpty(dadosNovos["nome"]) == true)
            {
                ModelState.AddModelError("nome", "Tem que preencher o campo do nome do quadrante!");
            }

            if (ModelState.IsValid == true)
            {
                //Primeiro obtém o quadrante a editar, através do seu resptivo ID passado como parâmetro
                //Depois associa os novos dados a esse mesmo quadrante
                Quadrante editQuadrante = db.Quadrantes.Single(q => q.idQuadrante == id);

                editQuadrante.nome = dadosNovos["nome"];

                //Apaga todas as relações pergunta-quadrante associadas a este quadrante particular
                db.Pergunta_Quadrantes.DeleteAllOnSubmit(db.Pergunta_Quadrantes.Where(pq => pq.idQuadrante == id));
                db.SubmitChanges();

                //Depois das relações apagadas, volta a criar novas relações pergunta-quadrante, com base nas novas checkboxes seleccionadas
                foreach (Pergunta p in db.Perguntas)
                {
                    //Visto que o ASP.NET MVC faz umas coisas esquisitas com as checkboxes, este workaround certifica que a checkbox de cada pergunta é corretamente validada
                    if (dadosNovos[string.Concat("pergunta", p.idPergunta)].Contains("true") == true)
                    {
                        Pergunta_Quadrante newPerguntaQuadrante = new Pergunta_Quadrante();

                        newPerguntaQuadrante.idPergunta  = p.idPergunta;
                        newPerguntaQuadrante.idQuadrante = editQuadrante.idQuadrante;

                        db.Pergunta_Quadrantes.InsertOnSubmit(newPerguntaQuadrante);
                    }
                }

                db.SubmitChanges();

                return(RedirectToAction("Index"));
            }
            else
            {
                TecnicasViewModel editQuadranteViewModel = new TecnicasViewModel();

                editQuadranteViewModel.QuadrantesList.Add(db.Quadrantes.Single(q => q.idQuadrante == id));
                editQuadranteViewModel.PerguntasQuadrantesList = db.Pergunta_Quadrantes.Where(pq => pq.idQuadrante == id).ToList();
                editQuadranteViewModel.PerguntasList           = db.Perguntas.ToList();

                return(View(editQuadranteViewModel));
            }
        }
Пример #8
0
    public void inverterImagem()
    {
        //GetComponent<SpriteRenderer>().sprite = invertImage(image.sprite);
        q1 = q1inv.isOn ? invertImage(scanQuadrant(image.sprite, 0, image.sprite.texture.width / 2, 0, image.sprite.texture.height / 2)) : scanQuadrant(image.sprite, 0, image.sprite.texture.width / 2, 0, image.sprite.texture.height / 2);
        Quadrante quad1 = new Quadrante(q1, new Vector2(0, image.sprite.texture.width / 2), new Vector2(0, image.sprite.texture.height / 2));

        q2 = q2inv.isOn ? invertImage(scanQuadrant(image.sprite, image.sprite.texture.width / 2, image.sprite.texture.width, image.sprite.texture.height / 2, image.sprite.texture.height)) : scanQuadrant(image.sprite, image.sprite.texture.width / 2, image.sprite.texture.width, image.sprite.texture.height / 2, image.sprite.texture.height);
        Quadrante quad2 = new Quadrante(q2, new Vector2(image.sprite.texture.width / 2, image.sprite.texture.width), new Vector2(image.sprite.texture.height / 2, image.sprite.texture.height));

        q3 = q3inv.isOn ? invertImage(scanQuadrant(image.sprite, 0, image.sprite.texture.width / 2, image.sprite.texture.height / 2, image.sprite.texture.height)) : scanQuadrant(image.sprite, 0, image.sprite.texture.width / 2, image.sprite.texture.height / 2, image.sprite.texture.height);
        Quadrante quad3 = new Quadrante(q3, new Vector2(0, image.sprite.texture.width / 2), new Vector2(image.sprite.texture.height / 2, image.sprite.texture.height));

        q4 = q4inv.isOn ? invertImage(scanQuadrant(image.sprite, image.sprite.texture.width / 2, image.sprite.texture.width, 0, image.sprite.texture.height / 2)) : scanQuadrant(image.sprite, image.sprite.texture.width / 2, image.sprite.texture.width, 0, image.sprite.texture.height / 2);
        Quadrante quad4 = new Quadrante(q4, new Vector2(image.sprite.texture.width / 2, image.sprite.texture.width), new Vector2(0, image.sprite.texture.height / 2));

        GetComponent <SpriteRenderer>().sprite = buildingSpriteWithQuadrant(quad1, quad2, quad3, quad4);
    }
Пример #9
0
        public ActionResult CreateQuadrante(FormCollection dadosQuadrante)
        {
            if (string.IsNullOrEmpty(dadosQuadrante["nome"]) == true)
            {
                ModelState.AddModelError("nome", "Tem que preencher o campo do nome do quadrante!");
            }

            if (ModelState.IsValid == true)
            {
                Quadrante newQuadrante = new Quadrante();

                newQuadrante.nome         = dadosQuadrante["nome"];
                newQuadrante.idUtilizador = Convert.ToInt32(Session["idUtilizadorAutenticado"]);

                db.Quadrantes.InsertOnSubmit(newQuadrante);
                db.SubmitChanges();

                foreach (Pergunta p in db.Perguntas)
                {
                    //Visto que o ASP.NET MVC faz umas coisas esquisitas com as checkboxes, este workaround certifica que a checkbox de cada pergunta é corretamente validada
                    if (dadosQuadrante[string.Concat("pergunta", p.idPergunta)].Contains("true") == true)
                    {
                        Pergunta_Quadrante newPerguntaQuadrante = new Pergunta_Quadrante();

                        newPerguntaQuadrante.idPergunta  = p.idPergunta;
                        newPerguntaQuadrante.idQuadrante = newQuadrante.idQuadrante;

                        db.Pergunta_Quadrantes.InsertOnSubmit(newPerguntaQuadrante);
                    }
                }

                db.SubmitChanges();

                return(RedirectToAction("Index"));
            }
            else
            {
                TecnicasViewModel createQuadranteViewModel = new TecnicasViewModel();

                createQuadranteViewModel.QuadrantesList.Add(new Quadrante());
                createQuadranteViewModel.PerguntasList = db.Perguntas.ToList();

                return(View(createQuadranteViewModel));
            }
        }
Пример #10
0
        public ActionResult PerformTeste(int id)
        {
            TestesViewModel performTesteViewModel = new TestesViewModel();

            performTesteViewModel.Teste   = db.Testes.Single(t => t.idTeste == id);
            performTesteViewModel.Tecnica = db.Tecnicas.Single(t => t.idTecnica == performTesteViewModel.Teste.idTecnica);

            Quadrante_Tecnica currentQuadranteTecnica = db.Quadrante_Tecnicas.Where(qt => qt.idTecnica == performTesteViewModel.Tecnica.idTecnica).First();
            Quadrante         currentQuadrante        = db.Quadrantes.Single(q => q.idQuadrante == currentQuadranteTecnica.idQuadrante);

            performTesteViewModel.Quadrante = currentQuadrante;

            List <Pergunta_Quadrante> currentPerguntasQuadrante = db.Pergunta_Quadrantes.Where(pq => pq.idQuadrante == currentQuadrante.idQuadrante).ToList();

            foreach (Pergunta_Quadrante pq in currentPerguntasQuadrante)
            {
                performTesteViewModel.PerguntasList.Add(db.Perguntas.Single(p => p.idPergunta == pq.idPergunta));
            }

            return(View(performTesteViewModel));
        }
Пример #11
0
        public void ValidarSudokuCompletoComValoresRepetidosNoQuadranteEspecificoEmQuadrante9x9()
        {
            var quadrantes = new List <Quadrante>();

            Quadrante quadrante = new Quadrante();

            // quadrantes 1-2-3
            quadrantes.Add(new Quadrante(new int[] { 9, 9, 7, 6, 1, 3, 8, 5, 2 }));
            quadrantes.Add(new Quadrante(new int[] { 1, 6, 2, 8, 5, 7, 4, 9, 3 }));
            quadrantes.Add(new Quadrante(new int[] { 3, 5, 8, 9, 2, 4, 1, 7, 6 }));

            // quadrantes 4-5-6
            quadrantes.Add(new Quadrante(new int[] { 1, 2, 9, 5, 7, 8, 3, 6, 4 }));
            quadrantes.Add(new Quadrante(new int[] { 3, 8, 4, 9, 2, 6, 7, 1, 5 }));
            quadrantes.Add(new Quadrante(new int[] { 5, 6, 7, 4, 3, 1, 2, 8, 9 }));

            // quadrantes 7-8-9
            quadrantes.Add(new Quadrante(new int[] { 2, 9, 1, 7, 8, 5, 4, 3, 6 }));
            quadrantes.Add(new Quadrante(new int[] { 6, 3, 8, 2, 4, 1, 5, 7, 9 }));
            quadrantes.Add(new Quadrante(new int[] { 7, 4, 5, 6, 9, 3, 8, 1, 2 }));
        }
Пример #12
0
    public Sprite buildingSpriteWithQuadrant(Quadrante quad1, Quadrante quad2, Quadrante quad3, Quadrante quad4)
    {
        newSprite = image.sprite;

        Texture2D newImage  = new Texture2D(newSprite.texture.width, newSprite.texture.height);
        Texture2D itemBGTex = newSprite.texture;

        for (int y = 0; y < newImage.height; y++)
        {
            for (int x = 0; x < newImage.width; x++)
            {
                Sprite quad = null;

                if (y >= quad1.altura.x && y < quad1.altura.y && x >= quad1.largura.x && x < quad1.largura.y)
                {
                    quad = quad1.spirte;
                }
                if (y >= quad2.altura.x && y < quad2.altura.y && x >= quad2.largura.x && x < quad2.largura.y)
                {
                    quad = quad2.spirte;
                }
                if (y >= quad3.altura.x && y < quad3.altura.y && x >= quad3.largura.x && x < quad3.largura.y)
                {
                    quad = quad3.spirte;
                }
                if (y >= quad4.altura.x && y < quad4.altura.y && x >= quad4.largura.x && x < quad4.largura.y)
                {
                    quad = quad4.spirte;
                }


                Color pixel = quad.texture.GetPixel(x, y);
                Color color = new Color(pixel.r, pixel.g, pixel.b, 1);

                newImage.SetPixel(x, y, color);
            }
        }

        return(saveImage(newImage, newSprite.name + " - inverted", true));
    }
Пример #13
0
    // Atualiza o estado de animação do player durante o disparo
    void UpdateEstado()
    {
        if (atirando)                                           // Se esta atirando
        {
            Vector2   vetorQuadrante;
            Quadrante quadranteEnum = PegaQuadrante();      // Pega o quadrante em que se encontra o mouse
            // Monta um vetor de direçoes (x,y) com a direçao para qual o player virará
            switch (quadranteEnum)
            {
            case Quadrante.Leste:
                vetorQuadrante = new Vector2(1f, 0f);            //
                break;

            case Quadrante.Sul:
                vetorQuadrante = new Vector2(0f, -1f);
                break;

            case Quadrante.Oeste:
                vetorQuadrante = new Vector2(-1f, 0f);
                break;

            case Quadrante.Norte:
                vetorQuadrante = new Vector2(0f, 1f);
                break;

            default:
                vetorQuadrante = new Vector2(0f, 0f);
                break;
            }
            animator.SetBool("Atirando", true);                   // atirando passa para true
            animator.SetFloat("AtiraX", vetorQuadrante.x);        // Ajusta o parametro do Animator "atiraX" de acordo com o vetorQuadrante
            animator.SetFloat("AtiraY", vetorQuadrante.y);        // Ajusta o parametro do Animator "atiraY" de acordo com o vetorQuadrante
            atirando = false;                                     // Muda flag atirando para false
        }
        else
        {
            animator.SetBool("Atirando", false);                   // Pára animação de atirar
        }
    }
Пример #14
0
    /// <summary>
    /// Atualiza os parâmetros do Animator de acordo com o estado atual
    /// </summary>
    void UpdateEstado()
    {
        if (atirando)
        {
            Vector2   vetorQuadrante;
            Quadrante quadranteEnum = PegarQuadrante();
            switch (quadranteEnum)
            {
            case Quadrante.Leste:
                vetorQuadrante = new Vector2(1.0f, 0.0f);
                break;

            case Quadrante.Sul:
                vetorQuadrante = new Vector2(0.0f, -1.0f);
                break;

            case Quadrante.Oeste:
                vetorQuadrante = new Vector2(-1.0f, 0.0f);
                break;

            case Quadrante.Norte:
                vetorQuadrante = new Vector2(0.0f, 1.0f);
                break;

            default:
                vetorQuadrante = new Vector2(0.0f, 0.0f);
                break;
            }
            animator.SetBool("Atirando", true);
            animator.SetFloat("atiraX", vetorQuadrante.x);
            animator.SetFloat("atiraY", vetorQuadrante.y);
            atirando = false;
        }
        else
        {
            animator.SetBool("Atirando", false);
        }
    }
 public void Novo(Quadrante entidade)
 {
     _quadrante.Novo(entidade);
 }
 public void Remover(Quadrante entidade)
 {
     _quadrante.Remover(entidade);
 }
Пример #17
0
 public void Inicializador()
 {
     quadrante = new Quadrante(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });
 }
 public void Editar(Quadrante entidade)
 {
     _quadrante.Editar(entidade);
 }