public Jogo(Jogador j1, Jogador j2, Tabuleiro t) { JogadorUm = j1; JogadorDois = j2; Tabuleiro = t; }
private void V_Tabuleiro_PedidoFimDoJogo(Jogador j1, Jogador j2, int i) { Jogador jV, jP; if (i == 0) { jV = j1; jP = j2; } else if (i == 1) { jV = j2; jP = j1; } else { jV = j2; jP = j1; } var folder = AppDomain.CurrentDomain.BaseDirectory.Replace("\\bin\\Debug", "\\Base de dados"); string sqlConnection = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=" + folder + "DamasDataBase.mdf" + ";Integrated Security=True"; SqlConnection server = new SqlConnection(sqlConnection); server.Open(); if (jV is Robot) { string cmdText = string.Format("SELECT * FROM Jogador WHERE jogador_id = '{0}'", ((Pessoa)jP).Id); SqlCommand command = new SqlCommand(cmdText, server); SqlDataReader dados = command.ExecuteReader(); dados.Read(); int derrotas = Convert.ToInt32(dados["jogador_derrotas"]); int empates = Convert.ToInt32(dados["jogador_empates"]); dados.Close(); string comando; int resultado; if (i == 2) { comando = String.Format("UPDATE Jogador SET jogador_empates = '{0}' WHERE jogador_id = '{1}'", empates++, ((Pessoa)jP).Id); command = new SqlCommand(comando, server); resultado = command.ExecuteNonQuery(); } else { comando = String.Format("UPDATE Jogador SET jogador_derrotas = '{0}' WHERE jogador_id = '{1}'", derrotas++, ((Pessoa)jP).Id); command = new SqlCommand(comando, server); resultado = command.ExecuteNonQuery(); } server.Close(); } else if (jP is Robot) { string cmdText = string.Format("SELECT * FROM Jogador WHERE jogador_id = '{0}'", ((Pessoa)jV).Id); SqlCommand command = new SqlCommand(cmdText, server); SqlDataReader dados = command.ExecuteReader(); dados.Read(); int vitorias = Convert.ToInt32(dados["jogador_vitorias"]); int empates = Convert.ToInt32(dados["jogador_empates"]); dados.Close(); string comando; int resultado; if (i == 2) { comando = String.Format("UPDATE Jogador SET jogador_empates = '{0}' WHERE jogador_id = '{1}'", empates++, ((Pessoa)jV).Id); command = new SqlCommand(comando, server); resultado = command.ExecuteNonQuery(); } else { comando = String.Format("UPDATE Jogador SET jogador_vitorias = '{0}' WHERE jogador_id = '{1}'", vitorias++, ((Pessoa)jP).Id); command = new SqlCommand(comando, server); resultado = command.ExecuteNonQuery(); } server.Close(); } else { string cmdText = string.Format("SELECT * FROM Jogador WHERE jogador_id = '{0}'", ((Pessoa)jP).Id); SqlCommand command = new SqlCommand(cmdText, server); SqlDataReader dados = command.ExecuteReader(); dados.Read(); int derrotas = Convert.ToInt32(dados["jogador_derrotas"]); int empates1 = Convert.ToInt32(dados["jogador_empates"]); dados.Close(); cmdText = string.Format("SELECT * FROM Jogador WHERE jogador_id = '{0}'", ((Pessoa)jV).Id); command = new SqlCommand(cmdText, server); dados = command.ExecuteReader(); dados.Read(); int vitorias = Convert.ToInt32(dados["jogador_vitorias"]); int empates2 = Convert.ToInt32(dados["jogador_empates"]); dados.Close(); string comando; int resultado; if (i == 2)//Empate -> Aumentar os empates { comando = String.Format("UPDATE Jogador SET jogador_empates = '{0}' WHERE jogador_id = '{1}'", empates1++, ((Pessoa)jP).Id); command = new SqlCommand(comando, server); resultado = command.ExecuteNonQuery(); comando = String.Format("UPDATE Jogador SET jogador_empates = '{0}' WHERE jogador_id = '{1}'", empates2++, ((Pessoa)jV).Id); command = new SqlCommand(comando, server); resultado = command.ExecuteNonQuery(); } else { comando = String.Format("UPDATE Jogador SET jogador_derrotas = '{0}' WHERE jogador_id = '{1}'", derrotas++, ((Pessoa)jP).Id); command = new SqlCommand(comando, server); resultado = command.ExecuteNonQuery(); comando = String.Format("UPDATE Jogador SET jogador_vitorias = '{0}' WHERE jogador_id = '{1}'", vitorias++, ((Pessoa)jV).Id); command = new SqlCommand(comando, server); resultado = command.ExecuteNonQuery(); } server.Close(); } Program.M_User.FimDoJogo(j1, j2, i); }
private void V_JogosInacabados_PedidoLoadJogosInacabados(int i) { List <Jogo> jogosInacabados = new List <Jogo>(); if (Program.M_Jogo.JogosInacabados.Count == 0) { var folder = AppDomain.CurrentDomain.BaseDirectory.Replace("\\bin\\Debug", "\\XML"); if (File.Exists(folder + "JogosInacabados.xml")) { XDocument doc = XDocument.Load(folder + "JogosInacabados.xml"); if (doc.Descendants("Jogo").Count() != 0) { int numJogador = 0; Jogador j1 = new Jogador(), j2 = new Jogador(); bool jogadorEncontrado = false; //Obter conjunto de jogosInacabados var jogos = from jogo in doc.Descendants("Jogo") select jogo; //Para cada jogoInacabado, verificamos se Algum dos jogadores têm o id do jogador logado foreach (var jogoIn in jogos) { foreach (var jogador in jogoIn.Element("Jogadores").Elements()) { numJogador++; if (jogador.Name == "Pessoa") //Se o jogador for uma pesso e for o primeiro jogador { if (numJogador == 1) { User u = new User(); u = DataBaseAccess.GetUserById(Convert.ToInt16(jogador.Attribute("Id").Value)); j1 = new Pessoa(u, Convert.ToBoolean(jogador.Element("Cor").Value), Convert.ToBoolean(jogador.Element("Prioridade").Value)); } else { User u2 = new User(); u2 = DataBaseAccess.GetUserById(Convert.ToInt16(jogador.Attribute("Id").Value)); j2 = new Pessoa(u2, Convert.ToBoolean(jogador.Element("Cor").Value), Convert.ToBoolean(jogador.Element("Prioridade").Value)); } if (jogador.Attribute("Id").Value == i.ToString()) { jogadorEncontrado = true; } } else if (jogador.Name == "Robot") { j2 = new Robot(Convert.ToBoolean(jogador.Element("Cor").Value), Convert.ToBoolean(jogador.Element("Prioridade").Value)); } } if (jogadorEncontrado) { Posicao[,] t = new Posicao[8, 8]; foreach (var posicao in jogoIn.Descendants("Tabuleiro").Elements()) { int x, y; string coordenadas = posicao.Attribute("Coordenada").Value; x = Convert.ToInt32(coordenadas.Remove(1, 2)); // 0;1 -> 0 y = Convert.ToInt32(coordenadas.Remove(0, 2)); // 1;0 -> 0 if (posicao.Name == "Vazia") { t[x, y] = new Vazia(); } else if (posicao.Name == "Invalida") { t[x, y] = new Invalida(); } else if (posicao.Attribute("Tipo").Value == "Simples") { t[x, y] = new Simples(Convert.ToBoolean(posicao.Attribute("Cor").Value), Convert.ToBoolean(posicao.Attribute("Sentido").Value)); } else { t[x, y] = new Dama(Convert.ToBoolean(posicao.Attribute("Cor").Value), Convert.ToBoolean(posicao.Attribute("Sentido").Value)); } } Tabuleiro tab = new Tabuleiro(t); Jogo j = new Jogo(j1, j2, tab); j.Id = Convert.ToInt16(jogoIn.Attribute("Id").Value); jogosInacabados.Add(j); } numJogador = 0; jogadorEncontrado = false; } } } } Program.M_Jogo.LoadJogosInacabados(jogosInacabados); }
private void M_User_RespostaFimDeJogo(Jogador j1, Jogador j2, int i) { //0 -> j1 ; 1 -> j2 ; 2 -> Empate if (i == 0) //Ganhou o JogadorUm { lNomeVencedorN.Text = ((Pessoa)j1).Username; lCountryVencedorN.Text = ((Pessoa)j1).Pais; pbJogadorVencedor.ImageLocation = ((Pessoa)j1).Imagem; if (j2 is Robot) { lNomePerdedorN.Text = "Robot"; lCountryPerdedorN.Text = "--"; pBJogadorPerdedor.ImageLocation = ((Robot)j2).Imagem; } else if (j2 is Guest) { lNomePerdedorN.Text = "Guest"; lCountryPerdedorN.Text = "--"; pBJogadorPerdedor.ImageLocation = ((Guest)j2).Imagem; } else { lNomePerdedorN.Text = ((Pessoa)j2).Username; lCountryPerdedorN.Text = ((Pessoa)j2).Pais; pBJogadorPerdedor.ImageLocation = ((Pessoa)j2).Imagem; } } else if (i == 1) //Ganhoi o jogadorDois { lNomePerdedorN.Text = ((Pessoa)j1).Username; lCountryPerdedorN.Text = ((Pessoa)j1).Pais; pBJogadorPerdedor.ImageLocation = ((Pessoa)j1).Imagem; if (j2 is Robot) { lNomeVencedorN.Text = "Robot"; lCountryVencedorN.Text = "--"; pbJogadorVencedor.ImageLocation = ((Robot)j2).Imagem; } else if (j2 is Guest) { lNomeVencedorN.Text = "Guest"; lCountryVencedorN.Text = "--"; pbJogadorVencedor.ImageLocation = ((Guest)j2).Imagem; } else { lNomeVencedorN.Text = ((Pessoa)j2).Username; lCountryVencedorN.Text = ((Pessoa)j2).Pais; pbJogadorVencedor.ImageLocation = ((Pessoa)j2).Imagem; } } else //Empate { lWinner.Text = "It's a draw"; lNomeVencedorN.Text = ((Pessoa)j1).Username; lCountryVencedorN.Text = ((Pessoa)j1).Pais; pbJogadorVencedor.ImageLocation = ((Pessoa)j1).Imagem; if (j2 is Robot) { lNomePerdedorN.Text = "Robot"; lCountryPerdedorN.Text = "--"; pBJogadorPerdedor.ImageLocation = ((Robot)j2).Imagem; } else if (j2 is Guest) { lNomePerdedorN.Text = "Guest"; lCountryPerdedorN.Text = "--"; pBJogadorPerdedor.ImageLocation = ((Guest)j2).Imagem; } else { lNomePerdedorN.Text = ((Pessoa)j2).Username; lCountryPerdedorN.Text = ((Pessoa)j2).Pais; pBJogadorPerdedor.ImageLocation = ((Pessoa)j2).Imagem; } } Program.V_Tabuleiro.Hide(); this.Show(); }
private void V_JogadorOponente_PedidoComecarJogo(User u1, Jogador j) { Program.M_Jogo.ComecarJogo(u1, j); }