Dark_Webster
Power Member
Boas. Estou a desenvolver um programa que gere números do euromilhões. Verifiquem o código e vejam se algo está a atrasar o programa. Ao randomizar uma chave ele bloqueia ao fazer a 6ªchave, ao randomizar números, bloqueia a segunda vez, e ao randomizar estrelas bloqueia imediatamente.
Então:
Estarei a fazer algo mal? PS: Não liguem à extensão do código e talvez a complexidade que está no código, comecei em C# há coisa de 5 dias.
O RandomizarChave.Enabled = true; . o RandomizarNúmeros.Enabled = true; e o RandomizarEstrelas.Enabled = true; são apenas para desactivar botões da barra de menu.
Então:
Código:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace Euromilhões
{
public partial class Euromilhões : Form
{public Random randomizadornumeros = new Random();
public Random randomizadorestrelas = new Random();
public Euromilhões()
{
InitializeComponent();
}
private void Temporizador1_Tick(object sender, EventArgs e)
{
LabelData.Text = DateTime.Now.ToString();
}
private void TimerLoad_Tick(object sender, EventArgs e)
{
GrupoNúmeros.Show();
GrupoEstrelas.Show();
LabelData.Show();
TimerLoad.Stop();
}
private void Euromilhões_Load(object sender, EventArgs e)
{
LabelNomeUser.Text = "Olá " + Environment.UserName + "!";
GrupoNúmeros.Hide();
GrupoEstrelas.Hide();
LabelData.Hide();
TimerLoad.Start();
Temporizador1.Start();
}
private void AlterarACorDoForm_Click(object sender, EventArgs e)
{
EscolhaDaCor.ShowDialog();
this.BackColor = EscolhaDaCor.Color;
}
private void RandomizarChave_Click(object sender, EventArgs e)
{
RandomizarChave.Enabled = false;
RandomizarNúmeros.Enabled = false;
RandomizarEstrelas.Enabled = false;
Numero1.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
Numero2.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
while (Numero2.Text == Numero1.Text) ;
{
Numero2.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
}
Numero3.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
while (Numero3.Text == Numero2.Text && Numero3.Text == Numero1.Text) ;
{
Numero3.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
}
Numero4.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
while (Numero4.Text == Numero3.Text && Numero4.Text == Numero2.Text && Numero4.Text == Numero1.Text) ;
{
Numero4.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
}
Numero5.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
while (Numero5.Text == Numero4.Text && Numero5.Text == Numero3.Text && Numero5.Text == Numero2.Text && Numero5.Text == Numero1.Text) ;
{
Numero5.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
}
Estrela1.Text = Convert.ToString(randomizadorestrelas.Next(1, 9));
Estrela2.Text = Convert.ToString(randomizadorestrelas.Next(1, 9));
while (Estrela2.Text == Estrela1.Text) ;
{
Estrela2.Text = Convert.ToString(randomizadorestrelas.Next(1, 9));
}
RandomizarChave.Enabled = true;
RandomizarNúmeros.Enabled = true;
RandomizarEstrelas.Enabled = true;
}
private void RandomizarNúmeros_Click(object sender, EventArgs e)
{
RandomizarChave.Enabled = false;
RandomizarNúmeros.Enabled = false;
RandomizarEstrelas.Enabled = false;
Numero1.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
Numero2.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
while (Numero2.Text == Numero1.Text) ;
{
Numero2.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
}
Numero3.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
while (Numero3.Text == Numero2.Text && Numero3.Text == Numero1.Text) ;
{
Numero3.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
}
Numero4.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
while (Numero4.Text == Numero3.Text && Numero4.Text == Numero2.Text && Numero4.Text == Numero1.Text) ;
{
Numero4.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
}
Numero5.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
while (Numero5.Text == Numero4.Text && Numero5.Text == Numero3.Text && Numero5.Text == Numero2.Text && Numero5.Text == Numero1.Text) ;
{
Numero5.Text = Convert.ToString(randomizadornumeros.Next(1, 50));
}
RandomizarChave.Enabled = true;
RandomizarNúmeros.Enabled = true;
RandomizarEstrelas.Enabled = true;
}
private void RandomizarEstrelas_Click(object sender, EventArgs e)
{
RandomizarChave.Enabled = false;
RandomizarNúmeros.Enabled = false;
RandomizarEstrelas.Enabled = false;
Estrela1.Text = Convert.ToString(randomizadorestrelas.Next(1, 9));
Estrela2.Text = Convert.ToString(randomizadorestrelas.Next(1, 9));
while (Estrela2.Text == Estrela1.Text) ;
{
Estrela2.Text = Convert.ToString(randomizadorestrelas.Next(1, 9));
}
RandomizarChave.Enabled = true;
RandomizarNúmeros.Enabled = true;
RandomizarEstrelas.Enabled = true;
}
private void ExportarChave_Click(object sender, EventArgs e)
{
DialogGravarChave.ShowDialog();
StreamWriter Chave = File.CreateText(DialogGravarChave.FileName);
Chave.Write("Números:");
Chave.WriteLine(Numero1.Text + " " + Numero2.Text + " " + Numero3.Text + " " + Numero4.Text + " " + Numero5.Text);
Chave.Write("Estrelas:");
Chave.WriteLine(Estrela1.Text + " " + Estrela2.Text);
Chave.WriteLine("");
Chave.WriteLine(DateTime.Now);
Chave.Close();
}
}
}
O RandomizarChave.Enabled = true; . o RandomizarNúmeros.Enabled = true; e o RandomizarEstrelas.Enabled = true; são apenas para desactivar botões da barra de menu.