Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
        //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;
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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;
            //}
        }