PDA

View Full Version : [Windows Form C# HELP] Creare applicazione tabella punti


theprism
19-04-2011, 20:29
Salve a tutti,

sono un principiante e da poco mi sono cimentato nel linguaggio C#.
dopo aver seguito vari tutorials vorrei cominciare a creare da zero un'applicazione che consiste in una tabella punti per il gioco delle freccette (501), solo che se non ho un aiuto su come impostare il progetto rischio di andare seriamente al manicomio :D

Il mio intento è far si che, una volta scelto il numero di partecipanti da una comboBox, l'utente abbia la possibilità di inserire il nome dei partecipanti e conseguenzialmente inserire tali nomi nella tabella dei punteggi nella quale poi verranno inseriti, di volta in volta, i punteggi fatti nel corso della partita, fino a determinare il vincitore.

Ovviamente non vi chiedo di scrivermi il codice per intero :p ma gradirei sapere appunto come impostare il progetto, i metodi, le funzioni che dovrei creare, se ho bisogno di creare array etc etc.

Spero di essere stato chiaro e che qualcuno possa pazientemente aiutarmi, d'altro canto presumo che a questo servono i forum :P

Grazie anticipatamente!

sneeze
20-04-2011, 12:36
Ciao,
comincerei con definire il tuo "dominio applicativo". Il che significa che comincerei a scrivere le classi che ti servono per sviluppare la tua applicazione. Ad es. Una classe Partita che potrebbe ad occhio contenere una lista di oggetti di tipo Player (altra classe da disegnare) che a loro volta avranno un nome e una lista di interi che sono i punteggi che fanno durante il corso della partita.
Poi potresti (nella classe partita) crearti una serie di metodi che coprano le tue necessità ad es un metodo DecretaVincitore che si occupa di analizzare i punteggi dei Player e tornare quello con punteggio più alto, oppure un metodo NuovPartita che azzera i player e i loro punteggi ecc ecc...

theprism
20-04-2011, 19:33
grazie mille per la risposta! ti farò sapere cosa riesco a combinare, ma sopratutto cosa NON riesco a combinare :D

theprism
21-04-2011, 16:29
Allora,

1. ho una form con una comboBox per selezionare il numero dei giocatori (da 1 a 4)

2. una textBox dove inserire i nomi dei giocatori

3. un pulsane per inviare i nomi dei giocatori

4. quattro label visibili che prenderanno i nomi dei giocatori precedentemente inseriti nella textBox

Ecco il codice:

namespace FreccetteProva
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
textBox1.Text = "Giocatore 1";
}

public int numeroGiocatori;
public int giocatori;

private void button1_Click(object sender, EventArgs e)
{
numeroGiocatori = Convert.ToInt32(comboBox1.Text);
giocatori++;


if (giocatori == 1)
{
label1.Text = textBox1.Text;
textBox1.Text = "Giocatore 2";

if (giocatori == numeroGiocatori)
{
button1.Text = "Inizia Partita";
button1.Enabled = false;
textBox1.Text = "";
textBox1.Enabled = false;
return;
}
}

if (giocatori == 2)
{
label2.Text = textBox1.Text;
textBox1.Text = "Giocatore 3";

if (giocatori == numeroGiocatori)
{
button1.Text = "Inizia Partita";
button1.Enabled = false;
textBox1.Text = "";
textBox1.Enabled = false;
return;
}
}

if (giocatori == 3)
{
label3.Text = textBox1.Text;
textBox1.Text = "Giocatore 4";

if (giocatori == numeroGiocatori)
{
button1.Text = "Inizia Partita";
button1.Enabled = false;
textBox1.Text = "";
textBox1.Enabled = false;
return;
}
}

if (giocatori == 4)
{
label4.Text = textBox1.Text;

if (giocatori == numeroGiocatori)
{
button1.Text = "Inizia Partita";
button1.Enabled = false;
textBox1.Text = "";
textBox1.Enabled = false;
return;
}
}


}
}
}

Sono sicuro che questa sia una procedura un po' articolata e da principiante :D in quanto credo ci sia un modo per non riscrivere gli stessi IF quattro volte cambiando di volta in volta solo i numeri. Ecco, sarei molto interessato a sapere come posso fare in modo di scrivere la condizione una sola volta e farla funzionare per tutti i giocatori che voglio, che siano 4, 5 o 10.

Grazie!

theprism
22-04-2011, 14:36
nessun consiglio?:cry:

theprism
27-04-2011, 20:26
siete tutti molto gentili .. o forse scarsi :P

sneeze
28-04-2011, 12:49
Guarda,
non ti risponde nessuno perchè il codice che hai scritto è davvero tutto sbagliato. Ma è sbagliata proprio la costruzione della form e della tua applicazione. Come ti dicevo è necessario che tu prima imposti le classi e la logica applicativa della tua applicazione. Dimenticati le form i pulsanti e le label e comincia a scrivere le logiche e gli oggetti della tua applicazione altrimenti non imparerai nulla di utilizzabile con il metodo che stai seguendo.

Consiglio personale, comincia da un buon libro e parti dalle basi della programmazione ad oggetti. Pensa dopo all'interfaccia grafica.

theprism
29-04-2011, 19:01
finalmente (solo dopo una provocazione) qualcuno ha risposto! :D

lo so che il mio codice è sbagliato (anche se funziona) l'ho detto anche io! cmq nel frattempo mi sono studiato un po' la programmazione orientata ad oggetti e devo dire che è molto affascinante oltre che palesemente utile ai fini di una logica di programmazione da seguire. Ora, diciamo che ho in mente come impostare questa dannata tabella punti che voglio creare. L'unica cosa che proprio non mi riesce di fare è creare un metodo che mi faccia creare nuovi giocatori.. quanti ne voglio. La classica funzione del tipo "aggiungi nome giocatore" click e aggiunto, poi ancora così per aggiungere il secondo il terzo e così via. Ti sarei molto grato se potessi aiutarmi in questo magari scrivendomi un codicino di esempio.!

Scusatemi se sono stato cattivello, solo che su 70 visite del post nessuno si è degnato di dirmi neanche "sei una skifezza, cambia hobby" :D

Grazie in anticipo.