C# Basit DxBall Uygulaması Yardımı

semanur dmr
20-03-2016, 02:20   |  #1  
semanur dmr avatarı
OP Taze Üye
Teşekkür Sayısı: 0
1 mesaj
Kayıt Tarihi:Kayıt: Mar 2016

Arkadaslar merhaba;

C# da yeniyim ve bir yerde takıldım. Basit bir DxBall benzeri bir oyun kodları asagidaki. Uygulamada bir cok buton olusmakta ve top her bir butona carpıp gecmektedir. Buraya kadar sıkıntı yok fakat ben butonlara carpma durumunun kontrol edilmesini ve carpma anında da butonun silinmesini istemekteyim. "this.Controls.Remove" ile silme islemini yapmaya calistim ama yapamadim. Konu ile ilgili yardimci olabilen olursa sevinirim.

private void DxBall_Load(object sender, EventArgs e)
        {
            topolustur();
        }

        List kayalar = new List();

        private void topolustur()
        {
            RadioButton Rtop = new RadioButton();
            Random rnd = new Random();
            Rtop.Enabled = false;
            Rtop.Left = rnd.Next(1, 550);
            Rtop.Top = rnd.Next(1, 150);
            int[] yon = new int[2];
            yon[0] = 2;
            yon[1] = 2;
            Rtop.Tag = yon;
            this.Controls.Add(Rtop);
        }
        int sayac = 0;
        private void timer1_Tick(object sender, EventArgs e)
        {
            sayac++;
            if (sayac % 200 == 0)

                butonolustur();

            foreach (Control item in this.Controls)
            {
                if (item is RadioButton)
                {
                    int[] yon = (int[])item.Tag;
                    item.Left += yon[0];
                    item.Top += yon[1];

                    if (item.Left < 1 || item.Left > 560)
                        yon[0] *= -1;

                    if (item.Top < 1 || item.Top > 390)
                        yon[1] *= -1;

                    item.Tag = yon;
                }
            }
        }
        private void DxBall_MouseClick(object sender, MouseEventArgs e)
        {
            topolustur();
        }
        private void butonolustur()
        {
            Random rnd = new Random();
            Button buton = new Button();
            buton.Width = 50;
            buton.Height = 50;
            buton.Left = rnd.Next(1, this.ClientSize.Width - 100);
            buton.Top = rnd.Next(1, this.ClientSize.Height - 100);
            kayalar.Add(buton);
            this.Controls.Add(buton);
         }            
       }              
     }

Sistem Bilgilerim
kazim-simsek
01-04-2016, 15:39   |  #2  
kazim-simsek avatarı
Yeni Üye
Teşekkür Sayısı: 0
34 mesaj
Kayıt Tarihi:Kayıt: Mar 2016

Emeğine Sağlık
http://www.kazimsimsek.net