V okolju Microsoft Visual C#, odpremo nov projekt tipa Windows Forms Application. Ko to naredimo, se nam prikaže okno, na katerega nato dodamo objekte, ki bodo na oknu prikazani. Te objekte dobimo v zavihku Toolbox. Najprej na platno dodamo napis(Label), potem gumb(Button), nato pa še platno(Panel) in diagram(Chart).
Vsakemu od objektov nato nastavimo še nekaj lastnosti. Te spreminajmo v zavihku Properties. Napis je na začetku prazen, prav tako platno, katerega ozadje smo nastavili na belo. Na gumb dodamo napis Nov met, ter iz diagrama pobrišemo privzete vrednosti.
Sedaj imamo okno pripravljeno na zagon. Napisati pa moramo še metode, ki bodo objekte spreminjale ob določenih akcijah na oknu. Zato se pomaknemo na zavihek Solution Explorer, kjer ob desnem kliku na datoteko Form1.cs izberemo View code. Odpre se nam okno, kamor lahko vpišemo kodo.
Najprej definiramo globalne spremenljivke. V prvo shranimo kaj smo trenutno vrgli. V drugi pa v tabeli hranimo število metov po posameznih številkah. Definiramo še naključni generator.
public int trenMet;
public int[] tabMetov = new int[6];
public Random g = new Random();
Naprej definiramo metodo s katero simuliramo met kocke. Vrnemo torej naključno število med 1 in 6.
public int MetKocke()
{
return g.Next(1, 7);
}
Nato potrebujemo metodo, ki se izvrši, ko kliknemo na gumb.
private void btt_met_Click(object sender, EventArgs e)
Če kliknemo na gumb simuliramo met kocke. Zato najprej v globalno spremenljivko shranimo rezultat metode MetKocke.
trenMet = MetKocke();
Nato preverimo kaj smo vrgli. Če vržemo 1, najprej shranimo sliko(Vir slik: Wiki). Nato to sliko nastavimo za novo ozadje platna. V tabeli metov povečamo število metov tega števila za 1. Spremenimo še napis in pa višino pripadajočega stolpca v diagramu.
//shranimo sliko
Image i = Image.FromFile(trenMet.ToString() + ".jpg");
//jo nastavimo za ozadje platna
p_platno.BackgroundImage = i;
//povečamo število metov v tabeli pri indeksu 0
tabMetov[trenMet - 1] += 1;
//spremenimo še napis
lbl_meti.Text = "Vrgli ste število " + trenMet + ".";
//in pa vrednost pri diagramu ch_meti.Series[trenMet.ToString()].Points.AddXY(trenMet, tabMetov[trenMet - 1]);
Enako naredimo tudi za vsa druga vržena števila, le da tam spreminjamo pripadajoče število v tabeli in pripadajoči stolpec v diagramu.
Zadnja metoda se izvede, ko okno odpremo. V tej metodi diagramu nastavimo lastnosti.
private void Form1_Load(object sender, EventArgs e)
Najprej ustvarimo novo območje za diagram. Potem pa na tem območju nastavimo še minimum in interval za Y os.
ch_meti.ChartAreas.Add("area");
ch_meti.ChartAreas["area"].AxisY.Minimum = 0;
ch_meti.ChartAreas["area"].AxisY.Interval = 5;
Na koncu nastavimo še stolpce, za vsak stolpec pa še njegovo pozicijo in višino.
for (int i = 1; i < 7; i++)
{
ch_meti.Series.Add(i.ToString());
ch_meti.Series[i.ToString()].Points.AddXY(i, tabMetov[i-1]);
}