22 Kasım 2014 Cumartesi

C Sharp Form Uygulamalar Mayın Tarlası Oyunu

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

Mayın Tarlası Benzer Uygulama 2




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

1 yorum :