Sayı Tahmini Oyunu C# Windows Form Apllication

KaannAslann

Öğrenci
Katılım
20 Şubat 2014
Mesajlar
34
Reaksiyon puanı
0
Puanları
6
Merhaba ilk öncelikle iyi forumlar dilerim. Ödevim var ve yapmam için gerekli kodları bilmiyorum. Yardımcı olursanız sevinirim. Teşekkürler. Yapacağım sayı tahmin oyunun görüntüsü böyle olmalı. ve özellikle hani tutulan sayı eğer tahmin edilen sayıdan küçükse felan yada büyükse eğer büyük küçük yazmasını istiyorum öyle istedi hocamız. Şimdiden teşekkürler.

xY7Z8k.png
 

kaptann

Öğrenci
Katılım
9 Haziran 2013
Mesajlar
76
Reaksiyon puanı
0
Puanları
6
Sayı tut butonu da random kullanacaksın ve bir değişkene atayacaksın. Textbox'tan aldığın bilgiyi int türüne çevirip başka bir değişkene atayacaksın. İf-else ve eşitlik operatörleri kullanarak değişkenleri karşılaştırıp string türüne çevirip labele yazdıracaksın.

//Renk değiştir
Random rdm = new Random();
int renkIndex = rdm.Next(0, 4);
this.BackColor = renkler[renkIndex];

- - - Mesaj Güncellendi - - -

Kodu yazmamı bekleme...
 

Tükenir Kalem

Doçent
Katılım
25 Ocak 2014
Mesajlar
767
Reaksiyon puanı
2
Puanları
0
int a,b;
Random rasgele = new Random();
a= rasgele.Next(1, 100); gibi bir kullanımı vardır.Parantezler içine yazılan değerler arasında rastgele sayı üretir.Oyuna başlandığında bu a yı otomatik atamasını sağla.textbox a girilen sayıyı burada b oluyor o int değerine dönüştür,if else ile a ve b yi karşılaştır,yanlışsa bilmem kaç hakkın kaldı vs desin.Sen giriş kodunu bir oluştur,yapamadığın yerlerde yardımcı olan çıkar :) Kodu sorarsan kimse yardım etmez genelde.
 

kaptann

Öğrenci
Katılım
9 Haziran 2013
Mesajlar
76
Reaksiyon puanı
0
Puanları
6
Kod:
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public int sayi; //tüm alanlardan ulaşılabilir. tutulan sayı değişkeni.
        public string renk = "Red"; //tüm alanlardan ulaşılabilir.  forum rengi değişkeni.


        private void button1_Click(object sender, EventArgs e)
        {
            Random tutulanSayi = new Random(); //tutulan sayı adında bir random oluşturduk.
            sayi = tutulanSayi.Next(1, 10); //randomu sayi değişkenine atadık.
            renk = "green"; //renk değişkenine renk atadık yeşil olur
            this.BackColor = Color.FromName(renk); //sayı tut butonuna tıklayınca forum yeşil olur
        }


        private void button2_Click(object sender, EventArgs e)
        {
            int tahmin = Convert.ToInt32(textBox1.Text); //tahmin edilen sayıyı textboxtan aldık ve tahmin değişkenine atadık
            if (tahmin < sayi) //tahmin edilen sayı küçük ise 
                label2.Text = ("Lütfen sayıyı büyültün"); //label 2 ye sayıyı büyütün yazdırdık.
            else //yukarıdaki değilse
            {
                if (tahmin > sayi) //tahmin edilen sayı küçük ise
                    label2.Text = ("Lütfen sayıyı küçültün"); //label 2 ye sayıyı küçültün yazdırdık.
                else //Yukarıdaki de değilse
                {
                    if (tahmin == sayi) //Tutulan sayı ile yazdığımız sayı eşit ise
                    {
                        renk = "Red"; //renk değişkenine kırmızıyı atadık
                        label2.Text = ("Tahmin Doğru Tebrikler!"); // Labele Tahmin Doğru Tebrikler! yazdırdık
                        this.BackColor = Color.FromName(renk); // Forum rengini kırmızı yaptık
                        
                        int c = 0;
                        Random r = new Random();
                        Point l = this.Location; //i adında bir lokasyon değişkeni tanımladık


                        while (c < 100) // Forumun kaç kez titreyeceğini ayarladık
                        {
                            int x = r.Next(-10, 10); // formun bulunduğu yerden 10 px sağa ve sola hareket edeceğini söyledik.
                            int y = r.Next(-10, 10); // formun bulunduğu yerden 10 px yukarı ve aşağı hareket edeceğini söyledik.
                            this.Location = new Point(l.X + x, l.Y + y); // Titreme efektini burada verdik.
                            c++; //100 olana kadar c değişkenini her seferinde 1 artırdık
                        }
                        this.Location = l; // döngü bitince lokasyonu eski yerine getirdik.
                    }
                }
            }
        }


        public Color Red { get; set; }
    }

Senin yapman gerekenler:

- Tekxbox'a sayı haricinde bir karakter girilirse hata mesajı verdirmen.
- Alkış efekti ayarlaman.
- int dışında (double veya decimal) sayı girilirse hata mesajı verdirmen.

--- Bundan sonra derslerine çalışman. Sınavda buradaki arkadaşlar yanında olmayacak-----
 

KaannAslann

Öğrenci
Katılım
20 Şubat 2014
Mesajlar
34
Reaksiyon puanı
0
Puanları
6
Kod:
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public int sayi; //tüm alanlardan ulaşılabilir. tutulan sayı değişkeni.
        public string renk = "Red"; //tüm alanlardan ulaşılabilir.  forum rengi değişkeni.


        private void button1_Click(object sender, EventArgs e)
        {
            Random tutulanSayi = new Random(); //tutulan sayı adında bir random oluşturduk.
            sayi = tutulanSayi.Next(1, 10); //randomu sayi değişkenine atadık.
            renk = "green"; //renk değişkenine renk atadık yeşil olur
            this.BackColor = Color.FromName(renk); //sayı tut butonuna tıklayınca forum yeşil olur
        }


        private void button2_Click(object sender, EventArgs e)
        {
            int tahmin = Convert.ToInt32(textBox1.Text); //tahmin edilen sayıyı textboxtan aldık ve tahmin değişkenine atadık
            if (tahmin < sayi) //tahmin edilen sayı küçük ise 
                label2.Text = ("Lütfen sayıyı büyültün"); //label 2 ye sayıyı büyütün yazdırdık.
            else //yukarıdaki değilse
            {
                if (tahmin > sayi) //tahmin edilen sayı küçük ise
                    label2.Text = ("Lütfen sayıyı küçültün"); //label 2 ye sayıyı küçültün yazdırdık.
                else //Yukarıdaki de değilse
                {
                    if (tahmin == sayi) //Tutulan sayı ile yazdığımız sayı eşit ise
                    {
                        renk = "Red"; //renk değişkenine kırmızıyı atadık
                        label2.Text = ("Tahmin Doğru Tebrikler!"); // Labele Tahmin Doğru Tebrikler! yazdırdık
                        this.BackColor = Color.FromName(renk); // Forum rengini kırmızı yaptık
                        
                        int c = 0;
                        Random r = new Random();
                        Point l = this.Location; //i adında bir lokasyon değişkeni tanımladık


                        while (c < 100) // Forumun kaç kez titreyeceğini ayarladık
                        {
                            int x = r.Next(-10, 10); // formun bulunduğu yerden 10 px sağa ve sola hareket edeceğini söyledik.
                            int y = r.Next(-10, 10); // formun bulunduğu yerden 10 px yukarı ve aşağı hareket edeceğini söyledik.
                            this.Location = new Point(l.X + x, l.Y + y); // Titreme efektini burada verdik.
                            c++; //100 olana kadar c değişkenini her seferinde 1 artırdık
                        }
                        this.Location = l; // döngü bitince lokasyonu eski yerine getirdik.
                    }
                }
            }
        }


        public Color Red { get; set; }
    }

Senin yapman gerekenler:

- Tekxbox'a sayı haricinde bir karakter girilirse hata mesajı verdirmen.
- Alkış efekti ayarlaman.
- int dışında (double veya decimal) sayı girilirse hata mesajı verdirmen.

--- Bundan sonra derslerine çalışman. Sınavda buradaki arkadaşlar yanında olmayacak-----

kaptann teşekkür ederim yardımcı olduğun için sadece benim o mantığı kavramam gerekiyordu ve anlayınca kendi başıma yapabildim. Yaptıkdan sonra atman yinede işime yaradı çünkü kullanmadığım kodlarla yapıldığınıda öğrendim tekrar teşekkür ederim. İyi forumlar.
 
Üst