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); } }