Exemple #1
0
        private bool db_check()
        {
            string str1, str2;

            str1 = sendToPhp("team=" + equipe);
            str2 = finder(str1, "tstate");
            if (str2 == "1")                                //se receber "1" o oponente já concluiu sua jogada, se for "0" ele ainda está movimentando suas peças
            {
                btn_mover.Enabled = true;
                btn_undo.Enabled  = true;
                //btn_check.Enabled = false;
                btn_read.Enabled = false;
                timer1.Enabled   = false;

                str2 = finder(str1, "doundo");                   //1 para "DO" e 0 para "UNDO"
                if (str2 == "1")
                {
                    str1 = sendToPhp("readn=" + n_total_movs);
                    str2 = finder(str1, "errorn");
                    if (str2.Length > 0)
                    {
                        richTextBox1.AppendText("Erro: o outro jogador fez mais do que dois movimentos em uma só rodada\r");
                    }
                    else
                    {
                        str2 = finder(str1, "n");
                        if (str2 == "1")
                        {
                            string m0 = finder(str1, "m0");
                            richTextBox2.AppendText(m0 + "\r");
                            richTextBox1.AppendText("1 (um) moimento recebido\r");
                            mov_dele.SetMov(m0);                                                //mov_dele.AddMovimento(finder(str1, "m0"));
                            n_total_movs++;

                            //move a peça
                            enivaSerial(m0);
                        }
                        else if (str2 == "2")
                        {
                            string m0 = finder(str1, "m0");
                            string m1 = finder(str1, "m1");
                            richTextBox2.AppendText(m0 + "\r" + m1 + "\r");
                            richTextBox1.AppendText("2 (dois) moimentos recebidos\r");
                            mov_dele.SetMov(m0, m1);                                         //mov_dele.SetMovimentos(finder(str1, "m0"), finder(str1, "m1"));
                            n_total_movs += 2;

                            //move as peças
                            enivaSerial(m0);
                            enivaSerial(m1);
                        }
                        else
                        {
                            mov_dele.Clear();
                            richTextBox1.AppendText("nenhum movimento\r");
                        }
                    }
                }
                else
                {
                    if (mov_meu.GetNumMovs() == 1)
                    {
                        enivaSerial("--" + reverso(mov_meu.GetMov(0)));                         //manda o Tabuleiro desfazer o ultimo (indicado pelos dois '-')

                        richTextBox1.AppendText("desfazer 1 movimentos:\r" + mov_meu.GetMov(0) + "\r");
                        richTextBox2.Undo();
                        n_total_movs--;
                        mov_meu.Clear();

                        //desfazer o ultimo movimento (está salvo no objeto "mov_meu" da classe Moimentos)
                    }
                    else
                    {
                        enivaSerial("--" + reverso(mov_meu.GetMov(0)));                         //manda o Tabuleiro desfazer o ultimo (indicado pelos dois '-')
                        enivaSerial("--" + reverso(mov_meu.GetMov(1)));                         //pelo numero de caracteres não se confunde com um movimento normal

                        richTextBox1.AppendText("desfazer 2 movimentos:\r" + mov_meu.GetMov(0) + "\r" + mov_meu.GetMov(1) + "\r");
                        richTextBox2.Undo();
                        n_total_movs -= 2;
                        mov_meu.Clear();

                        //desfazer os dois ultimos movimentos (estam salvos nas strings last_m0 e last_m1)
                    }
                }
                return(true);
            }
            else
            {
                richTextBox1.AppendText(".");
                return(false);
            }
        }