Bu makalede yapmış olduğum top(nesne) toplama oyununu sizinle paylaşıyorum.Amacı bariz, topları yakalamayı çalışıyoruz.Toplanan her toptan 10 puan geliyor.Başlangıç olarak 3 can veriliyor ve yere değdiğince bir can eksiliyor.3 canı da kaybettiğinizde oyun bitiyor.Ayrıca skor tabelası da var.En yüksek puan isminizle beraber skor tabelasına kaydediliyor.Projeyi indirerek kodlarını inceleyebilirsiniz.Ayrıca üstüne kendi düşüncelerinizi katarak projeyi geliştirebilir, daha zevkli bir hale getirebilirsiniz.

Kaynak Kodlar

Değişkenlerimizi tanımlıyoruz.

public Random Rndm { get; } = new Random();
Button[] Sayi { get; private set; }
public static object Puan { get; set; }
int _x, _y, _sure, _sayac, _can = 3, _nesneHareketHizi = 15, _puan;
private const int ButonSayi = 1;


Yuvarlak buton oluşturmak için sınıfımızı yazıyoruz.

public class YuvarlakButon : Button
{
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
var gp = new GraphicsPath();
gp.AddEllipse(new Rectangle(Point.Empty, Size));
Region = new Region(gp);
}
}


Form yüklendiğinde nesneyi oluşturması için metodu çağırıyoruz

private void FormOyun_Load(object sender, EventArgs e)
{
lblCan.Text = _can.ToString();
timerNesneOlustur.Start();
}


Yukarıdan düşecek nesnemizi(topları) oluşturuyoruz.

//nesne oluşturuyoruz
private void timerNesneOlustur_Tick(object sender, EventArgs e)
{
Sayi = new Button[ButonSayi];
if (_sayac == 0)
{
_sayac++;
_sure = Rndm.Next(1, 4);
}
if (_sure == 0)
{
_x = Rndm.Next(0, 861);
_y = 50;
var yb = new YuvarlakButon
{
Enabled = false,
Size = new Size(30, 30),
Location = new Point(_x, _y),
BackColor = Color.Yellow
};
yb.FlatAppearance.BorderSize = 11;
yb.FlatStyle = FlatStyle.Flat;
yb.FlatAppearance.BorderColor = Color.Thistle;
Controls.Add(yb);
Sayi[ButonSayi-1] = yb;
_sayac = 0;
timerNesneDusur.Start();
}
else _sure--;
}


Nesnemizi(topları) düşüyoruz.

private void timerNesneDusur_Tick(object sender, EventArgs e)
{
foreach (Control item in Controls)
{
if (item is Button)
{
item.Top += 5;
}
}
timerNesneOlustur.Enabled = true;
}


Projeyi indirmek ve detayları için alttaki adresi ziyaret edebilirsiniz.
C# Top Toplama Oyunu