Chcę napisać klasyczną grę w statki. Niestety już na początku mam mały problem. Jestem w trakcie pisania klasy Plansza. Plansza składa się ze 100 przycisków, które znajdują się w tablicy. Po wciśnięciu przycisku jego kolor powinien zmienić się na czerwony-niestety nie działa. Jeszcze takie pytanie, jeśli przyciski znajdują się w tablicy, to jak zrobić, żeby program wiedział sam który przycisk został wciśnięty i który ma mieć zmieniony kolor? Klasie jest przekazywana referencja do klasy Panel, w której to wyświetlają się przyciski.
public class Plansza
{
int top=0;
int left=0;
Panel pole;
Button[] plansza=new Button[100];
public Plansza(Panel pole)
{
this.pole=pole;
Wyglad();
}
void Wyglad()
{
for (int i=0;i<10;i++)
{
int y;
for ( y=0; y<plansza.Length; y++)
{
plansza[i]=new Button();
plansza[i].Width=30;
plansza[i].Height=30;
plansza[i].Left=left;
plansza[i].Top=top;
plansza[i].Click+=new EventHandler(Pudlo);
Color kolor=Color.FromName("Blue");
plansza[i].BackColor=kolor;
pole.Controls.Add(plansza[i]);
left+=30;
}
top+=30;
left=0;
}
top=0;
left=0;
}
private void Pudlo(object sender, System.EventArgs e)
{
Color kolor=Color.FromName("Red");
plansza[0].BackColor=kolor;
}
}