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(); }
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()); } }
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(); }
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" }; }
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); }
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); }
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)); } }
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); }
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)); } }
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)); }
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 })); }
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)); }
// 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 } }
/// <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); }
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); }