C Sharp Form da mayın tarlası oyunu hazırlama, mayın tarlası oyunu , c sharp mayın tarlası oyun uygulaması hazırlama örneği. C# picturebox ve bitmap sınıfılarının kullanımı ile örnek uygulama. Mayın tarlası oyunu butonlarını dinamik olarak oluşturma ve oluşturulan butonlar event tanımlama. Generic List kullanarak butonları bir listede saklama. C sharp mayın tarlası oyun algoritması oluşturma. C sharp da rastgele tıklanan bir butonu sender parametresinden buton nesnesine dönüştürme. Bitmap alanı oluşturup alanı istenilen renkler ile doldurma. C sharp da tıklanan herhangi bir butonu gizleme. Butonları yan yana ve alt alta gelecek şekilde matriksler şeklinde sıralama veya gösterme. Tıklanan butonun bütün özelliklerine erişme örneği.
C Sharp Oyun | c sharp oyun örnekleri | c sharp oyun yapma | c sharp oyun kodları | csharp oyun programlama | csharp örnek oyun | csharp örnek projeler | csharp örnek programlar| c sharp örnek kodlar | csharp örnek kodları | c sharp örnekleri | csharp örnek | c sharp oyun programları | c# oyun | c# oyun yapımı | c# oyun programlama | c# oyun kodları | c# oyun örnekleri | | c# oyun örnekleri indir | c# örnek oyun | c# mayın tarlası | c sharp mayın tarlası | c sharp mayın tarlası oyunu | c sharp mayın tarlası oyunu yapma | c# mayın tarlsı yapma | c# mayın tarlası kodları | c# mayın tarlası indir | c sharp mayın tarlası oyna | mayın tarlası oyna.
UYGULAMAYI İNDİR
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using Mayın;
namespace MayınTarlası
{
public partial class MayınTarlası : Form
{
public MayınTarlası()
{
InitializeComponent();
}
private void MayınTarlasıOlustur()
{
if (Mayın_Tarlası.bmp != null)
{
Mayın_Tarlası.MayınRengi = Brushes.Red;
Mayın_Tarlası.ArkaPlan = Brushes.Blue;
Mayın_Tarlası.ButonRengi = Brushes.White;
}
if (Mayın_Tarlası.OyunMayınSayısı == 0)
Mayın_Tarlası.OyunMayınSayısı = 40;
pictureBox_MayınTarlası.Visible = false;
Mayın_Tarlası.MayınYerleştir();
Mayın_Tarlası.MayınTarlasınıDoldur();
pictureBox_MayınTarlası.Image = Mayın_Tarlası.bmp;
pictureBox_MayınTarlası.Refresh();
int satir=0, sutun=0;
Mayın_Tarlası.KalanMayınSayısı = Mayın_Tarlası.MayınSayısı;
Mayın_Tarlası.TespitEdilenMayınSayısı = 0;
label_kalanmayın.Text = "Kalan Mayın Sayısı :" + Mayın_Tarlası.KalanMayınSayısı.ToString();
for (int i = 0; i < 400; i++)
{
if (i % 20 == 0 && i!=0)
{
satir++;
sutun = 0;
}
Button tb = new Button();
tb.Name = i.ToString();
tb.TabIndex = i;
tb.TabStop = false;
tb.Text = "";
tb.Size = new System.Drawing.Size(20, 20);
Point p = new System.Drawing.Point(sutun* tb.Width+20, satir* tb.Height+20);
tb.Location = p;
tb.FlatStyle =System.Windows.Forms.FlatStyle.Flat ;
tb.Visible = true;
tb.BackColor = Color.Gray;
tb.BringToFront();
tb.MouseDown += new MouseEventHandler(this.butonlarClick);
pictureBox_MayınTarlası.Controls.Add(tb);
pictureBox_MayınTarlası.Size = new Size(440,440);
this.AutoSize = true;
Mayın_Tarlası.Butonlar.Add(tb);
sutun++;
}
pictureBox_MayınTarlası.Visible = true;
Mayın_Tarlası.LineCiz();
}
private void butonlarClick(object sender, System.Windows.Forms.MouseEventArgs e)
{
Button BasılanButon = (Button)sender;
if (BasılanButon.BackColor == Color.Gray)
if (e.Button == MouseButtons.Left)
{
BasılanButon.Visible = false;
if (Mayın_Tarlası.MayınVarMı(BasılanButon.Location.X, BasılanButon.Location.Y))
{
for (int i = 0; i < Mayın_Tarlası.OyunMayınSayısı; i++)
((Button)Mayın_Tarlası.Butonlar[Mayın_Tarlası.MayınYerleri[i]]).Visible = false;
MessageBox.Show("Oyun Bitti");
for (int i = 0; i < 400; i++)
((Button)Mayın_Tarlası.Butonlar[i]).Enabled = false;
}
else
{
if (Mayın_Tarlası.EtiketKoy(BasılanButon) != "0")
pictureBox_MayınTarlası.Controls.Add(Mayın_Tarlası.label_buton);
}
if (Mayın_Tarlası.EtiketKoy(BasılanButon) == "0")
{
BosYerleriAc(BasılanButon);
int i=0;
while (Mayın_Tarlası.BakılanButonlar.Count - i > 0)
{
if (Mayın_Tarlası.EtiketKoy((Button)Mayın_Tarlası.BakılanButonlar[i]) == "0")
BosYerleriAc((Button)Mayın_Tarlası.BakılanButonlar[i]);
else
pictureBox_MayınTarlası.Controls.Add(Mayın_Tarlası.label_buton);
i++;
}
for (int a = 0; a < Mayın_Tarlası.BakılanButonlar.Count; a++)
((Button)Mayın_Tarlası.BakılanButonlar[a]).Visible = false;
}
}
if (e.Button == MouseButtons.Right)
{
if (((Button)Mayın_Tarlası.Butonlar[int.Parse(BasılanButon.Name)]).BackColor == Color.Gray)
{
((Button)Mayın_Tarlası.Butonlar[int.Parse(BasılanButon.Name)]).BackColor = Color.GreenYellow;
Mayın_Tarlası.KalanMayınSayısı--;
for(int i=0;i < Mayın_Tarlası.MayınSayısı;i++)
if (((Button)Mayın_Tarlası.Butonlar[int.Parse(BasılanButon.Name)]).Name == Mayın_Tarlası.MayınYerleri[i].ToString())
Mayın_Tarlası.TespitEdilenMayınSayısı++;
}
else
{
((Button)Mayın_Tarlası.Butonlar[int.Parse(BasılanButon.Name)]).BackColor = Color.Gray;
Mayın_Tarlası.KalanMayınSayısı++;
for (int i = 0; i < Mayın_Tarlası.MayınSayısı; i++)
if (((Button)Mayın_Tarlası.Butonlar[int.Parse(BasılanButon.Name)]).Name == Mayın_Tarlası.MayınYerleri[i].ToString())
Mayın_Tarlası.TespitEdilenMayınSayısı--;
}
}
label_kalanmayın.Text = "Kalan Mayın Sayısı :" + Mayın_Tarlası.KalanMayınSayısı.ToString();
Mayın_Tarlası.LineCiz();
if (Mayın_Tarlası.TespitEdilenMayınSayısı == Mayın_Tarlası.MayınSayısı)
{
MessageBox.Show("Oyunu Kazandınız. Tebrikler.");
for (int i = 0; i < 400; i++)
((Button)Mayın_Tarlası.Butonlar[i]).Enabled = false;
}
}
private void BosYerleriAc(Button ArananButon)
{
bool varmı = false;
int x = ArananButon.Location.X, y = ArananButon.Location.Y;
if (x <= 400 && x >= 20 && y <= 400 && y >= 20)
{
if ( x > 20 )
{
for (int b = 0; b < Mayın_Tarlası.BakılanButonlar.Count; b++)
if ((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) - 1] == (Button)Mayın_Tarlası.BakılanButonlar[b])
varmı = true;
if (!varmı)
Mayın_Tarlası.BakılanButonlar.Add((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) - 1]);
}
varmı = false;
if ( x < 400 )
{
for (int b = 0; b < Mayın_Tarlası.BakılanButonlar.Count; b++)
if (int.Parse(ArananButon.Name) + 1 == int.Parse(((Button)Mayın_Tarlası.BakılanButonlar[b]).Name))
varmı = true;
if (!varmı)
Mayın_Tarlası.BakılanButonlar.Add(((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) + 1]));
}
varmı = false;
if ( x > 20 && y > 20 )
{
for (int b = 0; b < Mayın_Tarlası.BakılanButonlar.Count; b++)
if ((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) - 21] == (Button)Mayın_Tarlası.BakılanButonlar[b])
varmı = true;
if (!varmı)
Mayın_Tarlası.BakılanButonlar.Add(((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) - 21]));
}
varmı = false;
if ( x < 400 && y > 20 )
{
for (int b = 0; b < Mayın_Tarlası.BakılanButonlar.Count; b++)
if ((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) - 19] == (Button)Mayın_Tarlası.BakılanButonlar[b])
varmı = true;
if (!varmı)
Mayın_Tarlası.BakılanButonlar.Add(((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) - 19]));
}
varmı = false;
if ( y > 20 )
{
for (int b = 0; b < Mayın_Tarlası.BakılanButonlar.Count; b++)
if ((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) - 20] == (Button)Mayın_Tarlası.BakılanButonlar[b])
varmı = true;
if (!varmı)
Mayın_Tarlası.BakılanButonlar.Add(((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) - 20]));
}
varmı = false;
if ( y < 400 )
{
for (int b = 0; b < Mayın_Tarlası.BakılanButonlar.Count; b++)
if ((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) + 20] == (Button)Mayın_Tarlası.BakılanButonlar[b])
varmı = true;
if (!varmı)
Mayın_Tarlası.BakılanButonlar.Add(((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) + 20]));
}
varmı = false;
if ( x > 20 && y < 400 )
{
for (int b = 0; b < Mayın_Tarlası.BakılanButonlar.Count; b++)
if ((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) + 19] == (Button)Mayın_Tarlası.BakılanButonlar[b])
varmı = true;
if (!varmı)
Mayın_Tarlası.BakılanButonlar.Add(((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) + 19]));
}
varmı = false;
if (x < 400 && y < 400)
{
for (int b = 0; b < Mayın_Tarlası.BakılanButonlar.Count; b++)
if ((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) + 21] == (Button)Mayın_Tarlası.BakılanButonlar[b])
varmı = true;
if (!varmı)
Mayın_Tarlası.BakılanButonlar.Add(((Button)Mayın_Tarlası.Butonlar[int.Parse(ArananButon.Name) + 21]));
}
}
}
private void button_YeniOyun_Click(object sender, EventArgs e)
{
Temizle();
MayınTarlasıOlustur();
}
private void Temizle()
{
Mayın_Tarlası.Butonlar.Clear();
Mayın_Tarlası.BakılanButonlar.Clear();
pictureBox_MayınTarlası.Controls.Clear();
Mayın_Tarlası.gfx.FillRectangle(System.Drawing.Brushes.Blue, Mayın_Tarlası.rect);
pictureBox_MayınTarlası.Image = Mayın_Tarlası.bmp;
pictureBox_MayınTarlası.Refresh();
Mayın_Tarlası.MayınSayısı = 0;
}
private void MayınTarlası_Load(object sender, EventArgs e)
{
Define.SiteyiAc();
Mayın_Tarlası.Load_MayınTarlası();
MayınTarlasıOlustur();
}
private void toolStripMenuItem4_Click(object sender, EventArgs e)
{
Mayın_Tarlası.OyunMayınSayısı = 80;
Temizle();
MayınTarlasıOlustur();
}
private void toolStripMenuItem3_Click(object sender, EventArgs e)
{
Mayın_Tarlası.OyunMayınSayısı = 40;
Temizle();
MayınTarlasıOlustur();
}
private void toolStripMenuItem5_Click(object sender, EventArgs e)
{
Mayın_Tarlası.OyunMayınSayısı = 100;
Temizle();
MayınTarlasıOlustur();
}
private void MayınTarlası_FormClosing(object sender, FormClosingEventArgs e)
{
Define.SiteyiAc();
}
}
}
UYGULAMAYI İNDİR
çok iyi bir oyun
YanıtlaSil