Skip to content

Instantly share code, notes, and snippets.

@loristissino
Created November 16, 2016 16:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save loristissino/096203f9c32bc9a2f4c47c11de34c456 to your computer and use it in GitHub Desktop.
Save loristissino/096203f9c32bc9a2f4c47c11de34c456 to your computer and use it in GitHub Desktop.
Errori comuni su gestione mazzo di carte

mca

Inizializzazione sia del mazzo sia di un array di carte

mazzoDiCarte104 m = new mazzoDiCarte104();
carta[] x = new carta[104];

A proposito, qual è il punto migliore per fare il new?

Algoritmo inefficiente per il conteggio delle coppie (e poi, da dove viene x[]?)

int countN = 0;

for (int t = min; t < max + 1; t++)
{
	x[t] = m.getCarta(t);
}

for (int j = min; j < max-1; j++)
{
	for (int i = j+1; i < max+1; i++)
	{
		if (x[j].numero.Equals(x[i].numero))
		{
			countN++;
			lblResult.Text = "ci sono " + countN.ToString() + " coppie";
		}
	}
}

fca

A che cosa serve ricevere un parametro se non lo si utilizza?

private void estraiCarte(mazzoDiCarte104 k,int da)
{
	listBox2.Items.Clear();
	listView1.Items.Clear();           
	for (int i = da; i < (da+5); i++)
	{
		listBox2.Items.Add(mazzo.getCarta(i).ToString());                
	}
}

Algoritmo inefficiente per conteggio coppie:

int contSuits = 0;
int cont = 0;            
for(int i = 1; i < 5;i++)
{
   for (int j = i+1; j < 6; j++)
	{
		if (mazzo.getCarta(i).numero == mazzo.getCarta(j).numero)
		{
			cont++;
			listView1.Items.Add(add(mazzo.getCarta(i).numero.ToString(), mazzo.getCarta(j).numero.ToString()));
	
		}
		if (mazzo.getCarta(i).numero == mazzo.getCarta(j).numero && mazzo.getCarta(i).seme == mazzo.getCarta(j).seme)
		{
			contSuits++;
			listView2.Items.Add(add(mazzo.getCarta(i).ToString(), mazzo.getCarta(j).ToString()));
		}                    
	}               
}	

sch

Perché pulire l'elenco generale quando si devono estrarre delle carte?

private void btnVisualizzaPrime_Click(object sender, EventArgs e)
{
	listBox1.Items.Clear();
	mazzo.mescola(1000);
	int.TryParse(txtBox.Text, out a);
	limitiTxtBox();
	Visualizza(a);
	//confronta();
}

mde

Perché inizializzare una carta?

mazzo = new mazzoDiCarte104();
carta = new carta();

Come può funzionare questo algoritmo per la ricerca delle coppie?

bool coppia = false;
for(int i = 1; i < 6; i++)
{
   for(int s = 2; s < 7; s++)
	{
		if (mazzo.getCarta(i).numero == mazzo.getCarta(s).numero)
		{
			coppia = true;  
		}
		else
		{
			coppia = false;
		}
	}
}

dge

Algoritmo per ricerca coppie inefficiente:

for (int i = 1; i <= 13; i++)
{
	int cont = 0;
	for (int j = 1; j <= 5; j++)
	{
		if (m.getCarta(j).numero == i)
		{
			cont++;
		}
	}
	if (cont >= 2)
	{
		listBox1.Items.Add("U GOT A COUPLE");
	}
}

nku

Incoerenza nella firma dei metodi:

void showmazzo(mazzoDiCarte104 unmazzo, ListBox lista)

void xestrai(ListBox lstBox)

sma

Incoerenza nella firma dei metodi:

void estrai(mazzoDiCarte104 ymazzo, ListBox extract)

void coppie(Label lbl)

ama

Perché mescolare le carte prima dell'estrazione?

private void mazzoMescolato_Click(object sender, EventArgs e)
{
    m.mescola(1000);
    ShowMazzo(m);
}

Perché void per una funzione che deve contare le coppie? Cosa sarà mai il parametro giocare?

private void Compare(TextBox text, string giocare)

(Ho due versioni del programma, quale devo guardare?)

mpa

Che cosa rappresenta il parametro a?

private void MostraMazzo(int a, ListBox list)        

Perché una funzione che conta il numero di coppie deve ricevere una TextBox come parametro?

private void NumeroCoppie(int NCarteControllate, TextBox a, string tipo)

vro

Etichetta come primo elemento di una lista: siamo sicuri che sia una buona idea?

listView1.Items.Add("Le prime 5 carte:").ToString();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment