Non riesco a confrontare i numeri estratti con quelli della cartella

di il
21 risposte

Non riesco a confrontare i numeri estratti con quelli della cartella

Ciao a tutti, sto facendo un piccolo progetto in c# dove simulo una tombola; ad estrarre i numeri e confrontarli ok, ma poi quando voglio dire per esempio se ho fatto cinquina o tombola non riesco; qui sotto vi carico una parte di programma perchè tutto sarebbe troppo lungo.

public void bEstrai_Click(object sender, EventArgs e)
{


Random random = new Random();
_soundPlayer.Play();
if (vWasClicked == true)
{
if (contatore == 90)
{
timer1.Enabled = false;
return;
}
//r = new Random();
int indice = r.Next(0, massimo);
int numeroestratto = v[indice];
contatore++;
lContatore.Text = "Numeri estratti: " + contatore.ToString();
foreach (Control control in Controls)
{
if (control.GetType() == typeof(Label))
{
if (control.Text == numeroestratto.ToString()) control.BackColor = Color.Orange;
}
}
massimo--; // massimo si decrementa di 1
for (i = 0; i < massimo; i++)
{
if (i >= indice) v = v[i + 1];// si compatta l'array eliminando il numero estratto
}
label12.Text = numeroestratto.ToString();// non importante
label12.BackColor = Color.Blue;// non importante

}
//questa è la parte dell'estrazione, dove l'utente preme il tasto estrai e i numeri della label dietro si iluminano
}
//poi c'è questa, dove il programma genera un tot di cartelle in base al numero che aveva scelto.
public void conf_Click(object sender, EventArgs e)
{
label14.Visible = false;
label13.Visible = false;
//costruisco il tabellone dei numeri da 1 a 90 (10 righe e 9 colonne)
int margin_left1 = 30;
int margin_top1 = 115;
int width1 = 50;
int height1 = 60;

for (int r = 1; r <= 10; r++) //ciclo delle 10 righe
{
for (int c = 1; c <= 9; c++) //ciclo delle 9 colonne
{
Label l = new Label(); //creo una Label l
int numero = (c - 1) * 10 + r;
l.Name = "l" + numero.ToString();
l.AutoSize = false;
l.TextAlign = ContentAlignment.MiddleCenter;
l.Size = new Size(width1, height1);
l.BorderStyle = BorderStyle.FixedSingle;
l.Location = new Point(margin_left1 + (r - 1) * width1, margin_top1 + (c - 1) * height1);
l.BackColor = Color.White;
l.Font = new Font("Arial", 12);
l.Text = numero.ToString();
l.Visible = true;
this.Controls.Add(l);
}
}
if (cartelle.Text == "1")
{
int[] array = new int[89];
int margin_left = 900;
int margin_top = 500;
int width = 50;
int height = 50;

for (int r = 1; r <= 5; r++)
{
for (int c = 1; c <= 3; c++)
{
Random random = new Random();
int number;
for (int p = 0; p < 88; p++)
{
number = random.Next(1, 90);
if (!array.Contains(number))
array[p] = number;
else
p--;
}
Label l = new Label();
l.Name = "l" + array[14].ToString();
l.AutoSize = false;
l.TextAlign = ContentAlignment.MiddleCenter;
l.Size = new Size(width, height);
l.BorderStyle = BorderStyle.FixedSingle;
l.Location = new Point(margin_left + (r - 1) * width, margin_top + (c - 1) * height);
l.BackColor = Color.White;
l.Font = new Font("Arial", 12);
l.Text = array[14].ToString();
l.Visible = true;
this.Controls.Add(l);
}

}

}
}
ora, qualcuno mi potrebbe aiutare a confrontare i numeri di ogni riga della cartella con i numeri estratti dal tabellone?
cioè, ho messo 3 righe per cartella; volevo fare che se i numeri di ogni riga erano già usciti allora il programma mi faceva uscire una MesssageBox con scritto "Hai fatto cinquina!.

Grazie

21 Risposte

Devi accedere o registrarti per scrivere nel forum
21 risposte