private static int RolarDadoMago(int numeroDeLadosDado) { int valorDoDadoJogado = Dado.Rolar(numeroDeLadosDado); if (valorDoDadoJogado * 100 / numeroDeLadosDado > 70) { return(valorDoDadoJogado); } return(RolarDadoMago(numeroDeLadosDado)); }
private Combatentes QuemComeca() { int valorDadoPersonagem = Dado.Rolar(10); int valorDadoMonstro = Dado.Rolar(10); if (valorDadoPersonagem >= valorDadoMonstro) { return(Combatentes.Personagem); } return(Combatentes.Monstro); }
public Operacao RolarDados(int idJogadorSala, int idSala) { var jogadorSala = _jogadorSalaBusiness.Obter(idJogadorSala); if (jogadorSala == default && jogadorSala.IdSala != idSala) { return(new Operacao("Jogador não encontrado", false)); } var sala = _salaBusiness.Obter(jogadorSala.IdSala); if (sala == default) { return(new Operacao("Sala não encotrada", false)); } var crime = _crimeBusiness.Obter(sala.Id); if (crime == default) { return(new Operacao("Crime não encotrada", false)); } if (crime.Solucionado()) { return(new Operacao("A partida acabou, o caso já foi solucionado", false)); } if (!jogadorSala.Jogando) { return(new Operacao("Jogador não está mais jogando", false)); } if (!jogadorSala.MinhaVez()) { return(new Operacao("Não está na vez desse jogador.", false)); } if (jogadorSala.RolouDados) { return(new Operacao("O jogador já rolou os dados.", false)); } jogadorSala.AlterarQuantidadeMovimento(_dado.Rolar()); var jogador = _jogadorBusiness.Obter(jogadorSala.IdJogador); _historicoBusiness.Adicionar(new Historico(idSala, $"O jogador {jogador.Descricao} obteve {jogadorSala.QuantidadeMovimento} na rolagem dos dados.")); _jogadorSalaBusiness.Alterar(jogadorSala); return(new Operacao("Operação realizada com sucesso.")); }
public int Defender(int ataqueRecebido) { int defesaAtual = Dado.Rolar(Defesa); Console.WriteLine($"{Nome} defendeu com {defesaAtual}"); Thread.Sleep(2000); int danoRecebido = ataqueRecebido - defesaAtual; if (danoRecebido > 0) { Vida = Vida - danoRecebido; } if (Vida < 0) { Vida = 0; } return(danoRecebido); }
public static int Ataque() { return(Dado.Rolar(15)); }
public static int Vida() { return(Dado.Rolar(20)); }
public static int Defesa() { return(Dado.Rolar(15)); }
public int Atacar() { return(Dado.Rolar(Ataque)); }
private void btnRolar_Click(object sender, EventArgs e) { try { Id = Convert.ToInt32(txtId.Text); Dados = Convert.ToInt32(txtDados.Text); Lados = Convert.ToInt32(txtLados.Text) + 1; bool checkID = CheckID(Id); if (checkID == false) { MessageBox.Show($"O id {Id} não existe!", "NOT FOUND!"); txtId.Text = ""; return; } if (Dados < 1) { MessageBox.Show("Deve ter no mínimo 1 dado", "ERRO!"); return; } if (Lados < 3) { MessageBox.Show("Um dado deve ter no mínimo 3 lados", "ERRO!"); return; } int id = Convert.ToInt32(txtId.Text); con.Open(); string pesquisaDescricao = $"SELECT * FROM Ficha WHERE Id = '{id}'"; SqlCommand Command = new SqlCommand(pesquisaDescricao, con.conectar()); SqlDataReader leitor = Command.ExecuteReader(); string tenta = ""; while (leitor.Read()) { tenta = leitor["Tentativas"].ToString(); } int tentativa = Convert.ToInt32(tenta); Tentativas = tentativa; txtTentativas.Text = Convert.ToString(Tentativas); con.Close(); int soma = 0; txtRolagem.Clear(); for (int i = 1; i <= Dados; i++) { if (Tentativas == 0) { MessageBox.Show("Você não possui tentativas!"); return; } int rolagem = dado.Rolar(Lados); soma += rolagem; txtRolagem.Text += $"- O {i}° dado rolou {rolagem}{Environment.NewLine}"; } Tentativas -= 1; txtTentativas.Text = Convert.ToString(Tentativas); txtTotal.Text = Convert.ToString(soma); string nomeJogador = GetNomeJogador(Id); SqlCommand com = new SqlCommand($"UPDATE Ficha SET Tentativas = {Tentativas} WHERE Id = {Id}\n" + $"UPDATE Roll SET dados ={Dados},lados = {Lados}, Nome = '{nomeJogador}', soma = {soma} WHERE Id = 1", con.conectar()); con.Open(); com.ExecuteNonQuery(); con.Close(); return; } catch (FormatException) { MessageBox.Show("Valores devem ser somente numeros inteiros!", "ERRO"); return; } catch (OverflowException) { MessageBox.Show("Id muito grande!", "ERRO"); return; } catch (SqlException) { MessageBox.Show("Erro de banco de dados!", "ERRO"); return; } }