Anasayfa İletişim RSS
 
Şimdi Üye Ol | Şifremi Unuttum
 
Anasayfa » C# (15 ders)
 
Sayı Tahmini Oyunu

Yazar: Gökhan Gülen  
Eklenme: 26.04.2008   Okunma: 867    Puan: 3.3   Seviyesi:  Orta
Merhaba arkdaşlar, bugün C#'da 4 levelden oluşan bir sayı tahmini oyunu yapalım. Bu programın aynısını Visual Basic'te yapmıştım ve Visual Basic bölümünde ders olarak yayınlamıştım. Onu C#'a da çevirdim.

İlk önce yeni bir C# projesi yaratıyoruz, Windows Application olarak. Formumuza 1 adet buton, 3 adet textbox, 1 adet label ve 1 adet listbox koyalım. Form görüntüsünü aşağıdaki gibi yapabiliriz. Formumuzun üstünde kullanılan butonların textboxların isimlerini değiştirdiğim için programın içinde kullandığım isimleri form üzerinde gösterdim..

http://img.sanalkurs.net/uploads/ccc1.jpg

Kod kısmına geldiğimizde ilk önce public partial class�ımızın içine:

 int level = 1;
 int tutulan;


değişken tanımlamalarını yapıyoruz, çünkü bu değişkenler her zaman ortak kullanacağımız değişkenler olduğundan burada tanımlıyoruz.

Daha sonra random sayı oluşturmak için random methodunu yazıyoruz fakat random methodonu da burada tanımlıyoruz. Eğer form_load kısmında tanımlamış olsaydık bize hep aynı random sayıyı verecekti. Eğer butonun içine tanımlamış olsaydık her butona bastığımızda random sayının değeri değişecek ve random sayıyı sabit tutamıyor olacaktık. Bundan dolayı random methodomuzu burada tanımlıyoruz. Tabi oyunumuz 4 levelden oluşacağı için ve her levelde bizim farklı random sayılara gerek duyacağımızdan dolayı bu random methodunu bir fonksiyon olarak burada tanımlayıp her levelin bitişinde bu random sayıyı yeniden oluşturmak için bu oluşturduğumuz fonksiyonu çağırmamız gerekiyor.

Evet arkadaşlar, bu kısım çok önemliydi. O zaman fonksiyonumuzu yine public partial class'ımızın içinde tanımlıyoruz ve şu şekilde:

void sayiuret()   // fonksiyon adımız sayiuret
        {
            Random rnd = new Random();  //random methodu
            int a = rnd.Next(0, 100);             // 0-100 arasında random bisayı atama
            tutulan = a*level;                       //levele göre sayı oluşturma..mesela //levelimiz 1 iken tutulan sayı // 1*(0 ile 100 arasında bi sayı)=0-100 arasında bi sayı.. level=2 ise  
                                                                //tutulan=2*(0 ile 100 arasında sayı)=0-200 arasında bir sayı �gibi
        
        }


Şimdi formumuzun form_load bölümündeki kodlamamıza. Burada formumuz yuklendiğinde random sayımızın oluşması gerekiyor. Zaten biz bu random sayıyı yukarıda fonksiyon içinde çağırmıştık. O zaman form_load bölümünde bu fonksiyonu seçmemiz gerekiyor. Form_load bölümündeki kodlarımız da aşağıdakiler:

private void Form1_Load(object sender, EventArgs e)
        {
                        //textbox1�e girilen sayı değerini kullanabilmesi için stringe çevirmek geriyor
            textBox1.Text = level.ToString(); 
            sayiuret();  		//yukarıda tanımladığımız sayiuret fonk. Çağırma

        }


Evet, artık butonumuzun içindeki kod kısmına gelebiliriz.

private void btnTahmin_Click(object sender, EventArgs e)
        {
            int tahmin;                                                                      // kendi tahmin ettiğimiz sayıyı yani tektboxa girdiğimiz sayıyı tanımladık
            tahmin = Convert.ToInt32(txtTahmin.Text);                  //ve bu sayıyı integer değerine çevirdik
            if (level <= 4)                                                             //levelimizi 4 demiştik yani 4 e eşit ve 4 den küçükse
            {
                if (tahmin < tutulan)   //tahminimiz tutulan sayıdan küçükse YUKARI mesajını verecek
                {
                    lblYon.Text = "Yukari";
                }
                if (tahmin > tutulan)  //tahminimiz tutulan sayıdan küçükse AŞA?I mesajını verecek
                {
                    lblYon.Text = "Aşağı";
                }
                if (tahmin == tutulan)  //tahminimiz tutulan sayıya eşitse KAZANDINIZ  mesajını verecek
                {
                    level += 1;     //leveli 1 arttıracak
                    lblYon.Text = "Kazandiniz... Level " + level + "'ye geçtiniz..";   
                    LbSonuc.Items.Add(level - 1 + ". Leveli Kazandınız..");   //listboxımıza ekleyecek
                    sayiuret();    // ve tekrar random methodumuzun tanıtığımız fonksiyonumuzu çağırdk
                }
                textBox1.Text = level.ToString();  // levelımızı gösteren textbox
            }
 Else    // level 4 den buyukse oyun bitti mesajını gösterecek
            {
                lblYon.Text = "OYUN BİTTİ";
             
                MessageBox.Show("Oyun Bitti...");
             }
          }



Kodlamalarımız bu kadar, programımızı çalıştırdığımız zaman aşağıda verd,ğim görüntülerdeki gibi olacak:

http://img.sanalkurs.net/uploads/cc1.jpg

http://img.sanalkurs.net/uploads/cc2.jpg

http://img.sanalkurs.net/uploads/cc3.jpg


Hepinize iyi çalışmalar...
 
  • Currently 3.33/5
Değelendirmek için üye girişi yapmanız gerekmektedir
EkleBunu Sosyal Paylam Butonu
Sayı Tahmini Oyunu Dersini Yazdırın

"Sayı Tahmini Oyunu" dersi için 9 yorum var

30.04.2008 yalin diyor ki:
Gerçekten eline sağlık keşke bende yapabilsem ama bu gidişle programlamayı öğrenemiycem galiba

02.05.2008 bagirsak diyor ki:
yalin aslında programlama çok kolaydır işin püf noktası algoritmayı bilmek çok önemlidir.. eğer algoritman çok iyise çok kısa sürede diğer dillerlede programlar yazabilirsin
Bu C# bölümünde başlangıç seviler için c# dersleri ekliyorum onları takip ederek bir nebze birşeyler öğrenebilirsin diye düşünüyorum...
Kolay gelsin bi sorununuz olursa yardımcı olurum....

11.08.2008 hft83tur diyor ki:
güzel program olmuş eline sağlık.. yanlız ben tahmin butonuna tıklamadan enter tuşuyla ulaşmak istiyorum. yani tahmine tıklamak yerine entere basarak çalıştıramaz mıyız tahmin butonunu?

15.08.2008 engineerse diyor ki:
bende yalin gibiyim.belkide ondan daha kötüyüm

17.08.2008 bagirsak diyor ki:
hft83tur elbette dediğin yapılabilir ben burada bütün olayları mouse click olarak gerçekleştirdim tabikide keypress olayıda kullanılabilirdi bi if yapsı için ascıı kodları verilerek yapılabilecek bişi ve daha pratiktir sonuçta sayılar klavyeden girildiği için enter tuşuna direk basmak daha kolaydır.. dediğin yapılabilecek birşeydir...
ilgilendiğiniz için teşekkür ederim..

08.09.2008 Pion diyor ki:
Çok beğendim elinize sağlık

08.09.2008 Pion diyor ki:
Yalnız ben koda çalışırken bişeyi anlayamadım.Textbox1 e biz mi hangi levelde oynamak istediğimizi giriyoruz?Oraya 4 girersek mesela direk 4.leveldan mı başlayacak oyun

17.09.2008 hasanes26 diyor ki:
bu sene c# görcez programlarda yardım edebilirmisiniz acaba

19.09.2008 bagirsak diyor ki:
Pion hayır kardeşim oyun level 1 den başlıyor textbox 1 sadece kaçıncı levelde olduğunu gösteriyor....

hasanes26 arkdaşım elimden geldiği kadarıyla sana yardımcı olmak isterim istediğini sorabilirsin.. Mailini bırakırsan oradan mailleşiriz..
Bol kodlu günler....

Üye olmadan yorum ekleyemezsiniz !


UYARI: SANALKURS'ta yer alan materyaller ile ilgili her türlü sorumluluk hazırlayan veya gönderene aittir. SANALKURS'ta yer alan hiçbir makale, yazarından izinsiz başka bir yerde yayınlanamaz. SANALKURS kullanıcıları ve üyeleri, üçüncü kişilerin telif hakkı sahibi bulunduğu her türlü fikri eser, fotoğraf, resim vb. materyal ve ürünleri kullanamazlar. SANALKURS kullanıcı ve yazarlarının, üçüncü kişilerin telif hakkı sahibi olduğu yazı, resim vb. ürünleri kullanması durumunda, her türlü hukuki ve cezai sorumluluk kendilerine aittir. Söz konusu haksız kullanım nedeniyle SANALKURS .NET'in hiçbir hukuki sorumluluğu bulunmamakta olup, haksız kullanım nedeniyle SANALKURS.NET'in üçüncü kişilere ödemek zorunda kalabileceği her türlü tazminat ve/veya adli/idari para cezaları ilgili Sanalkurs kullanıcılarından rücu edilecektir.
 İSTATİSTİKLER
XML Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz
ÇEVRİMİÇİ 86 Ziyaretçi, 14 Üye (2 Gizli)
turkalone, sc1907, NEVOVA, aauslu, By_Myth, too__be, chapkinman, babyface, sagdicgokhan, türküzar_44, ewren_01, dusmevsimi
BUGÜN DOĞUM GÜNÜ OLAN ÜYEMİZ:
grafikrim (23)
Bugün: 253, Dün: 6623, Bu Ay: 25775, Toplam Ziyaret: 1882778, Toplam Üye: 133029, Son Üye: too__be
Toplam Ders: 2011, Toplam Yazar: 45, Toplam Dosya: 34, Toplam Link: 55
   
RSS Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz