Untitled - MaurizioCozzetto.it
Transcript
Untitled - MaurizioCozzetto.it
! # & ' &# " # " $ " ' &# % & ' &# //classe Card: rappresenta una generica carta da gioco //file Card.cs public class Card { private string v; //valore della carta private string s; //seme della carta //costruttore public Card(string v,string s) { this.v=v; this.s=s; } //ottiene il valore della carta public string getValore() { return v; } //ottiene il seme della carta public string getSeme() { return s; } //consente di ottenere una stringa che rappresenta la carta //ad esempio AF rappresenta l’asso di fiori public string getCard() { return v+s; } //consente di ottenere il nome dell’immagine in formato png //associata alla carta da gioco //ad esempio AF.png è l’immagine dell’asso di fiori //ovviamente presupponiamo di aver preparato in anticipo //tutte le immagini delle carte da gioco public string getImageCard() { return v+s+”.png”; } } (((((((((((((((((((((((( " " Card[] deck = new Card[52]; //I 4 semi: Cuori,Quadri,Fiori,Picche string[] semi={"C","Q","F","P"}; //I valori delle carte string[] valori={"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; void Button1Click(object sender, System.EventArgs e) { Random rn = new Random(); int p = rn.Next(0,51); textBox1.Text=deck[p].getCard(); label1.Text="Carta "+p; pictureBox1.Image=Image.FromFile(deck[p].getImageCard()); } private void Shuffle() { // codice adattato tratto da C# di Deitel-Deitel //mischio il mazzo //cioè scambio la carta di posto i [i va da 0 a 51] con una //pescata a caso nel mazzo Random randomNumber = new Random(); Card temporaryValue; // swap each card with random card for (int i=0; i<deck.Length; i++) { int j = randomNumber.Next(52); // swap cards temporaryValue = deck[i]; deck[i] = deck[j]; deck[j] = temporaryValue; } } // end method Shuffle void MainFormLoad(object sender, System.EventArgs e) { //inizializzo l'array di oggetti di tipo Card [deck] //cioè un mazzo di carte nuovo appena comprato //caricandovi la sequenza "standard" richTextBox1.Text=""; int k=0; for (int i=0;i<semi.Length; i++) { string seme=semi[i]; for (int j=0; j<valori.Length; j++) { Card temp=new Card(valori[j],seme); richTextBox1.Text=richTextBox1.Text+temp.getCard()+" "; deck[k]=temp; k++; } } } void Button2Click(object sender, System.EventArgs e) { //mischio il mazzo Shuffle(); //visualizzo le carte nella richTextBox1 richTextBox1.Text=""; for (int i=0; i<deck.Length; i++) { Card t=new Card(deck[i].getValore(),deck[i].getSeme()); richTextBox1.Text=richTextBox1.Text+t.getCard()+" "; } }