Array
(
)

estrutura decisoes usando messageBox

Val
   - 27 set 2015

eu tentei colocar um if para comparar com o numero três e outo para comparara decisão messageBox, mas estava dando um erro
então resolvi colocar tudo em um if
eu quero limitar a quantidade de clicks no botão

o que esta errado ou que estou fazendo não existe.

if (clicarBotao == 3 && MessageBox.Show("foram três tentativas, Deseja Continuar?",MessageBoxButtons.YesNo == DialogResult.No))
{

bloco de instruçoes
}

Val
   - 27 set 2015

Olá pessoal consegui fazer com dois ifs (o programa gera dois números aleatórios e a soma tem que da 7, mas só há três tentativas)
O professor disse que precisava colocar um contador

gostaria muito de entender esta parte do código, do contador. Eu sei que é uma duvida primaria, mas quero entender o que faz linha a linha..o porque de tudo

o que faz o contador na ultima linha.?depois do else?

Como disse estou começando agora se alguém poder me ajudar

obrigada

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

textBox1.Text = r.Next(1, 10).ToString();
textBox2.Text = r.Next(1, 10).ToString();
soma = Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text);

if (soma == 7)
{
MessageBox.Show("Ganhou");
}

if (clicarBotao == 3)
{
button1.Enabled = false;

if (MessageBox.Show("Limite de tres. Deseja continuar?", "atençao", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
button1.Enabled = true;
textBox2.Clear();
textBox1.Clear();
}
else
{
Application.Exit();

}
}
else
{
clicarBotao++;

}

}

Hector Figueroa
   - 28 set 2015

Boas Val, quando você colocar algum codigo aqui no forum e bom colocar com a tag pra ficar assim (ela se encontra no canto superior esquerdo do editor de texto) pra ficar assim olha :

#Código
textBox1.Text = r.Next(1, 10).ToString();
textBox2.Text = r.Next(1, 10).ToString();
soma = Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text);

if (soma == 7)
{
MessageBox.Show("Ganhou");
}

if (clicarBotao == 3)
{
button1.Enabled = false;

if (MessageBox.Show("Limite de tres. Deseja continuar?", "atençao", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
button1.Enabled = true;
textBox2.Clear();
textBox1.Clear();
}
else
{
Application.Exit();
}
}
else
{
clicarBotao++;
}


o ++ significa que ele esta acrescetando +1 ao valor do contador.

Nathan Aguiar
   - 28 set 2015

Olá Val, eu não sei se entendi o seu problema, mas pelo que entendi, toda vez que o contador do botãoClick for maior que 3 ele deve exibir a mensagem para ver se a pessoa quer continuar a jogar correto?
Eu fiz a minha releitura do seu código, veja se isso te atende:

MainWindow.xaml
#Código
<Window x:Class="ajudaDevMedia.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ajudaDevMedia"
mc:Ignorable="d"
Title="DevMedia" Height="211" Width="414">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="46*"/>
<ColumnDefinition Width="157*"/>
</Grid.ColumnDefinitions>
<StackPanel HorizontalAlignment="Left" Height="160" Margin="10,10,0,0" VerticalAlignment="Top" Width="386" Grid.ColumnSpan="2">
<TextBlock x:Name="txbN1" TextWrapping="Wrap" Text="Número 1"/>
<TextBox x:Name="txtN1" Height="22" TextWrapping="Wrap" Text="" TextAlignment="Center"/>
<Rectangle Height="22" Opacity="0"/>
<TextBlock x:Name="txbN2" TextWrapping="Wrap" Text="Número 2"/>
<TextBox x:Name="txtN2" Height="22" TextWrapping="Wrap" Text="" TextAlignment="Center"/>
<Rectangle Height="22" Opacity="0"/>
<Button x:Name="btnNovo" Content="Novo" Click="btnNovo_Click"/>
</StackPanel>
</Grid>
</Window>


MainWindow.xaml.cs
#Código
using System;
using System.Windows;

namespace ajudaDevMedia
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public int clickBotao = 0;
public MainWindow()
{
InitializeComponent();
}

private void btnNovo_Click(object sender, RoutedEventArgs e)
{
Random r = new Random();

txtN1.Text = r.Next(1, 10).ToString();
txtN2.Text = r.Next(1, 10).ToString();

int Soma = Convert.ToInt32(txtN1.Text) + Convert.ToInt32(txtN2.Text);

if (Soma == 7)
{
MessageBox.Show("Você ganhou!!!");
}
else if (clickBotao >= 3)
{
if (MessageBox.Show("Você não acertou, mas pretende continuar?", "Confirm", MessageBoxButton.YesNo, MessageBoxImage.Question) != MessageBoxResult.Yes)
{
Close();
}
}
else
{
clickBotao++;
}
}
}
}


Eu não vi a necessidade de bloquear os botões e muito menos de limpar os campos, pois, uma vez você colocando o gerador do número antes da leitura ele já irá pegar os novos valores e calcular com base neles, e no caso do bloqueio dos botões, o messagebox ele, enquanto estiver aberto irá sozinho bloquear enquanto tu não fizer uma escolha.