29 Aralık 2013 Pazar

C Sharp Uygulamalar Rastgele Seçilen Şehir İsmi Bulmaca Oyunu Oyna



KONU : C Sharp Uygulamalar - C Sharp ( C# ) şehir ismi bulmaca oyunu uygulaması. textbox ve label kullanarak kelimeyi harflere bölme. Label nesnesinin backcolor ve forecolor özelliklerini kullanarak oyun alanı oluşturma.





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;

namespace C_Sharp_Textbox_Label_Uygulamasi
{
    public partial class Form1 : Form
    {
        string[] sehirlerListesi = { "İstanbul", "Ankara", "İzmir", "Adana", "Adıyaman", 
                                       "Afyonkarahisar", "Ağrı", "Aksaray", "Amasya", "Antalya",
                                       "Ardahan", "Artvin", "Aydın", "Balıkesir", "Bartın", "Batman",
                                       "Bayburt", "Bilecik", "Bingöl", "Bitlis", "Bolu", "Burdur", 
                                       "Bursa", "Çanakkale", "Çankırı", "Çorum", "Denizli", 
                                       "Diyarbakır", "Düzce", "Edirne", "Elazığ", "Erzincan", 
                                       "Erzurum", "Eskişehir", "Gaziantep", "Giresun", "Gümüşhane", 
                                       "Hakkari", "Hatay", "Iğdır", "Isparta", "Kahramanmaraş", 
                                       "Karabük", "Karaman", "Kars", "Kastamonu", "Kayseri",
                                       "Kırıkkale", "Kırklareli", "Kırşehir", "Kilis", "Kocaeli",
                                       "Konya", "Kütahya", "Malatya", "Manisa", "Mardin", "Mersin",
                                       "Muğla", "Muş", "Nevşehir", "Niğde", "Ordu", "Osmaniye", "Rize",
                                       "Sakarya", "Samsun", "Siirt", "Sinop", "Sivas", "Şırnak",
                                       "Tekirdağ", "Tokat", "Trabzon", "Tunceli", "Şanlıurfa", "Uşak",
                                       "Van", "Yalova", "Yozgat", "Zonguldak" };
  
        string bulunacakSehirIsmi = "";
        int bulunanHarfSayisi = 0;
        int kalanHak = 4;
        Random rastgele;


        public Form1()
        {
            InitializeComponent();
        }

        private void btnOyunuBaslat_Click(object sender, EventArgs e)
        {
            bulunanHarfSayisi = 0;
            btnHarfGir.Enabled = true;
            btnTahminEt.Enabled = true;
            lblGirilenHarfler.Text = "";
            kalanHak = 4;
            lblKalanHak.Text = kalanHak.ToString();

            YeniSehirSec();

            grpOyunAlani.Controls.Clear();

            for (int i = 0; i < bulunacakSehirIsmi.Length; i++)
            {
                Label label = new Label();
                label.Location = new Point(20*i+30,20);
                label.Text = bulunacakSehirIsmi[i].ToString();
                label.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.50F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(162)));
                label.Size = new System.Drawing.Size(15, 20);
                label.BackColor = Color.Red;
                label.ForeColor = Color.Red;
                grpOyunAlani.Controls.Add(label);
            }
        }

        private void btnHarfGir_Click(object sender, EventArgs e)
        {
           
            bool harfVarMi = false;

            if (txtHarf.Text.Length != 1)
            {
                MessageBox.Show("Lütfen tek harf giriniz.", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                if (lblGirilenHarfler.Text.Contains(txtHarf.Text))
                {
                    MessageBox.Show("Bu harfi daha önce girdiniz.", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                    txtHarf.Text = "";
                    txtHarf.Focus();

                    return;
                }

                foreach (Control item in grpOyunAlani.Controls)
                {
                    if (item is Label)
                    {
                        Label label = item as Label;
                        if (label.Text.ToUpper() == txtHarf.Text.ToUpper())
                        {
                            label.ForeColor = Color.Black;
                            label.BackColor = Color.Lime;
                            harfVarMi = true;
                            bulunanHarfSayisi++;
                        }
                    }
                }
            }

            if (!harfVarMi)
            {
                kalanHak--;

                lblKalanHak.Text = kalanHak.ToString();

                if (kalanHak == 0)
                {
                    btnHarfGir.Enabled = false;
                    btnTahminEt.Enabled = false;
                    MessageBox.Show("Oyun Bitti. Kaybettiniz. Yeni Oyun için yeni kelime giriniz. \n Cevap : " + bulunacakSehirIsmi, "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }

           
            lblGirilenHarfler.Text += txtHarf.Text + "  ";
          


            if (bulunanHarfSayisi == bulunacakSehirIsmi.Length)
            {
                btnHarfGir.Enabled = false;
                btnTahminEt.Enabled = false;
                MessageBox.Show("Oyun Bitti. Kazandınız. Yeni Oyun için yeni kelime giriniz.", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            txtHarf.Text = "";
            txtHarf.Focus();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            btnHarfGir.Enabled = false;
            btnTahminEt.Enabled = false;
            rastgele = new Random();

            this.AcceptButton = btnHarfGir;
        }

        private void YeniSehirSec()
        {
            int rastgeleSayi = rastgele.Next(0, sehirlerListesi.Length);

            bulunacakSehirIsmi = sehirlerListesi[rastgeleSayi];
        }

        private void btnTahminEt_Click(object sender, EventArgs e)
        {
            if (bulunacakSehirIsmi.ToUpper() == txtKelime.Text.ToUpper())
            {
                foreach (Control item in grpOyunAlani.Controls)
                {
                    if (item is Label)
                    {
                        Label label = item as Label;
                        label.ForeColor = Color.Black;
                        label.BackColor = Color.Lime;
                    }
                }
                MessageBox.Show("Oyun Bitti. Tebrikler Kazandınız. Yeni Oyun için yeni kelime giriniz.", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Oyun Bitti. Kaybettiniz. Yeni Oyun için yeni kelime giriniz. \n Cevap : " + bulunacakSehirIsmi, "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            btnHarfGir.Enabled = false;
            btnTahminEt.Enabled = false;
        }



    }
}

  


C Sharp WPF Uygulaması
UYGULAMAYI İNDİR

8 yorum :

  1. Bunun WPF'İ yok mu cok lazım paylaşın lütfen

    YanıtlaSil
    Yanıtlar
    1. http://www.c-sharp-forum.com/posts/list/224856/4673385.html
      bir örnek paylaştım. Bu örneği c sharp wpf uygulaması olarak yazdım. Bunun ile ilgili sorunları bu bağlantının olduğu forumda ilgili başlıkta sorabilirisin

      Sil
  2. WPF ile yazılımış bir uygulamayı bu akşam paylaşacağım

    YanıtlaSil
  3. Wpf de indirme linki atar misiniz

    YanıtlaSil
    Yanıtlar
    1. Pazartesinden önce atamam. Bu örnek usb bellekteydi. Onuda şirkete unutmuşum. Normalde dün akşam link ile bilikte paylaşacaktım.

      Sil
  4. Her seyi yaptim ama grid gözükmüyor

    YanıtlaSil
    Yanıtlar
    1. Adresi güncelledim :

      şu uygulamayı inceleyebilirsin :

      Örnek uygulama

      Sil