public void CreateButtonModel(int numLinhas, int numColunas, int numBombas) { int ButtonX = 0, ButtonY = 40; CONTEUDO[,] conteudoQuadrado = new CONTEUDO[numLinhas, numColunas]; int[,] distanciaBomba = new int[numLinhas, numColunas]; preencherQuadrado(numLinhas, numColunas, numBombas, conteudoQuadrado); preencherDistancias(numLinhas, numColunas, conteudoQuadrado, distanciaBomba); for (int linha = 0; linha < numLinhas; linha++) { ButtonX = 5; for (int coluna = 0; coluna < numColunas; coluna++) { //Nome irá identificar a posição dos botões string nome = linha.ToString() + "-" + coluna.ToString(); //Possível Evento de set do quadrado Program.M_mapa.setQuadrado(distanciaBomba[linha, coluna], conteudoQuadrado[linha, coluna], coluna, linha, ButtonX, ButtonY); //quadrado[linha, coluna] = new Quadrado(distanciaBomba[linha, coluna], conteudoQuadrado[linha, coluna], coluna, linha, ButtonX, ButtonY, nome); CreateButton(linha, coluna, conteudoQuadrado[linha, coluna], ButtonX, ButtonY, nome); ButtonX += 40; } ButtonY += 40; } }
private void ReceberDadosOnline() { //Prepara o pedido ao servidor com o URL adequado HttpWebRequest request = null; //Verificar qual o nível de jogo if (Program.M_mapa.NumColunas == 9) { request = (HttpWebRequest)WebRequest.Create("https://prateleira.utad.priv:1234/LPDSW/2019-2020/novo/Facil/" + Program.M_jogador.Id); // ou outro qualquer username } else if (Program.M_mapa.NumColunas == 16) { request = (HttpWebRequest)WebRequest.Create("https://prateleira.utad.priv:1234/LPDSW/2019-2020/novo/Medio/" + Program.M_jogador.Id); // ou outro qualquer username } // Com o acesso usa HTTPS e o servidor usar cerificados autoassinados, tempos de configurar o cliente para aceitar sempre o certificado. ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(AcceptAllCertifications); request.Method = "GET"; // método usado para enviar o pedido HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // faz o envio do pedido Stream receiveStream = response.GetResponseStream(); // obtem o stream associado à resposta. StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8); // Canaliza o stream para um leitor de stream de nível superior com o string resultado = readStream.ReadToEnd(); response.Close(); readStream.Close(); XDocument xmlResposta = XDocument.Parse(resultado); // ...interpretar o resultado de acordo com a lógica da aplicação (exemplificativo) if (xmlResposta.Element("resultado").Element("status").Value == "ERRO") { //Mensagem de erro do carregar campo // apresenta mensagem de erro usando o texto (contexto) da resposta //MessageBox.Show( //xmlResposta.Element("resultado").Element("contexto").Value, // "Erro", //MessageBoxButtons.OK, //MessageBoxIcon.Error //); } else { CONTEUDO[,] conteudoQuadrado = new CONTEUDO[Program.M_mapa.NumLinhas, Program.M_mapa.NumColunas]; conteudoQuadrado = getConteudoQuadradoOnline(conteudoQuadrado, xmlResposta); CreateButtonModelOnline(Program.M_mapa.NumLinhas, Program.M_mapa.NumColunas, Program.M_mapa.NMinasTotais, conteudoQuadrado); } }
private void V_Menu_playOnline(XDocument xmlResposta, int numLinhas, int numColunas, int numBombas) { Program.V_Menu.Hide(); //Criar dados auxiliares e model Program.V_Mapa.CreateMapa(numBombas, numLinhas, numColunas); Program.M_mapa.CreateMapa(numBombas, numLinhas, numColunas); //GetMinas CONTEUDO[,] conteudoQuadrado = new CONTEUDO[numLinhas, numColunas]; conteudoQuadrado = getConteudoQuadradoOnline(conteudoQuadrado, xmlResposta); CreateButtonModelOnline(Program.M_mapa.NumLinhas, Program.M_mapa.NumColunas, Program.M_mapa.NMinasTotais, conteudoQuadrado); ResizeForm(30 + 40 * numColunas, 90 + 40 * numLinhas); Program.V_Mapa.InserirBotoes(); ShowForm(); }
//Construtor por parâmetros para permitir inicializar cada atributo do quadrado public Quadrado(int distancia, CONTEUDO conteudo, int col, int lin, int ButtonX, int ButtonY) { contadorCliques = 0; selecionado = false; DistanciaBomba = distancia; if (distancia != -1 && distancia != 0) { conteudoQuadrado = CONTEUDO.NUM; } else { conteudoQuadrado = conteudo; } //InserirImagemConteudo(); Coluna = col; Linha = lin; }
public void CreateButton(int linha, int coluna, CONTEUDO conteudoQuadrado, int ButtonX, int ButtonY, string nome) { //Atributos button[linha, coluna] = new Button(); button[linha, coluna].Name = nome; button[linha, coluna].Height = 30; button[linha, coluna].Width = 30; button[linha, coluna].Background = new SolidColorBrush(Colors.LightGray); //button[linha, coluna].Content = nome; //Eventos button[linha, coluna].Tapped += MainPage_TappedAsync; button[linha, coluna].RightTapped += MainPage_RightTappedAsync; button[linha, coluna].PointerPressed += MainPage_PointerPressed; button[linha, coluna].PointerReleased += MainPage_PointerReleased; //Adicionar o PointerPressed ao botão esquerdo button[linha, coluna].AddHandler(PointerPressedEvent, new PointerEventHandler(MainPage_PointerPressed), true); //Adicionar o PointerReleased ao botão esquerdo button[linha, coluna].AddHandler(PointerReleasedEvent, new PointerEventHandler(MainPage_PointerReleased), true); //button[linha, coluna]. /*Colocar inicialmente imagem de fundo normal*/ // button[linha, coluna].Location = new Point(ButtonX, ButtonY); // //Só para testar //if (conteudoQuadrado == CONTEUDO.BOMBA) //{ // button[linha, coluna].Background = new SolidColorBrush(Colors.Red); //} MapaGrid.Children.Add(button[linha, coluna]); Grid.SetColumn(button[linha, coluna], coluna); Grid.SetRow(button[linha, coluna], linha); }
public void CreateButton(int linha, int coluna, CONTEUDO conteudoQuadrado, int ButtonX, int ButtonY, string nome) { /*Colocar inicialmente imagem de fundo normal*/ button[linha, coluna] = new Button(); button[linha, coluna].Name = nome; button[linha, coluna].Size = new Size(40, 40); button[linha, coluna].Location = new Point(ButtonX, ButtonY); //Configurar os botões para permitir retirar margens a estes button[linha, coluna].FlatStyle = FlatStyle.Flat; button[linha, coluna].FlatAppearance.BorderColor = Color.Gray; button[linha, coluna].FlatAppearance.BorderSize = 1; button[linha, coluna].MouseDown += B_MouseDown; button[linha, coluna].MouseUp += B_MouseUp; //Só para testar //if (conteudoQuadrado == CONTEUDO.BOMBA) //{ // button[linha, coluna].BackColor = Color.Red; //} }