C# Programlama Örnekleri - 3 - Sayı Tahmini Oyunu





Not : Uygulama mantığı ve kodları en basit şekilde if-else kullanılarak oluşturulmuştur. Çok daha farklı uygulamalar mevcuttur. Temel seviyeye hitap etmektedir.

Bu 3. örneğimizde ünlü sayı tahmini oyununu programlayacağız. Oyunun işleyişi şu şekilde ; bilgisayar otomatik bir sayı üretiyor ve sizden bu sayıyı bilmenizi istiyor.Eğer tahmin ettiğiniz sayı oluşturulan sayıdan küçükse "Daha büyük sayı gir" , tahmin edilen sayı oluşturulan sayıdan büyükse "Daha küçük sayı gir" diye mesaj vererek uyarıyor.Zor bir algoritması yok sadece If yapısına hakim olmanız lazım.



sayi tahmini c

Programın Özellikleri

  • Bilgisayarın oluşturacağı sayı 0 ile 200 arası olabilir.
  • Sayıyı doğru bilmeniz için 10 hakkınız var.(Programın alt tarafında kalan hak bilgisi var)
  • Sayıyı tahmin ettiğinizde listbox içerisinde girdiğiniz sayı ve sayıyı büyültüp veya azaltacağınız mesajı veriliyor.
  • Random sınıfı kullanılmıştır.
  • Proje Dosyası İndirmek için sayfanın altına bakınız !

Programın Kodları



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 WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
           
            int grlnsayi = Convert.ToInt32(textBox1.Text);
           
            
            if (grlnsayi < rastgelesayi)
            {
                listBox1.Items.Add(grlnsayi + " - Büyük Sayi Gir");
                sayac--;
                label3.Text = ("Kalan Hakkınız :" + sayac);
                textBox1.Text = null;
            }
            else if (grlnsayi > rastgelesayi)
            {
                listBox1.Items.Add(grlnsayi + " - Küçük Sayi Gir");
                sayac--;
                label3.Text=("Kalan Hakkınız :" + sayac);
                textBox1.Text = null;
            }
            else
            {
                MessageBox.Show("Sayı: "+rastgelesayi +" TEBRİKLER ! DOĞRU BİLDİNİZ");
                textBox1.Text = null;
                button1.Hide();
               
            }

            if (sayac==0)
            {
                MessageBox.Show("Hakkınız Bitti !");
                button1.Hide();
               
            }
        }
        int rastgelesayi;
        int sayac = 10;
        private void Form1_Load(object sender, EventArgs e)
        {
            Random rnd = new Random();
            rastgelesayi = rnd.Next(201);
            this.Text = "* SAYI TAHMİNİ OYUNU *";
           
        }
    }
}



Sayı Tahmini Algoritma Anlatım


Butona tıklandığı anda textbox'a girilen sayıyı değişkene alıyoruz.If kontrol yapısıyla bilgisayarın ürettiği random-rastgele sayı ile karşılaştırıyoruz.Eğer tahmin ettiğiniz sayı oluşturulan sayıdan küçükse "Daha büyük sayı gir" , tahmin edilen sayı oluşturulan sayıdan büyükse "Daha küçük sayı gir" diye mesaj vererek uyarıyo.Eşit olduğunda ise "Tebrikler Bildiniz Diyerek" oyunu bitiriyor.

Dördüncü kontrolümüz ise sayac yani kalan tahmin etme hakkı durumu.Sayaç sıfıra eşitlendiğinde hakkınız bitmiştir diyerek oyunu bitiriyor.

Burda dikkat edilmesi gerek nokta,bilgisayarın rastgele sayıyı nerede üreteceği eğer biz bu sayıyı butona tıklandığında oluştursaydık her tahmin ettiğinizde bu sayı değişecek ve biz asla doğru sayıyı bulamıycaktık.Çözüm ise Form yüklendiği anda rastgele sayıyı oluşturmak.

Herkese Başarılar.

Proje Dosyasını İNDİR ! 

Yorumlar

  1. Hocam kodlar için cok tşkr ederim fakat bana consol ekranında acılan kodlar lazım osekilde yapıp yayınlarmısın..!!

    YanıtlaSil
    Yanıtlar
    1. algoritmasını anlattım,kodları verdim.değiştirilecek bazı kısımlar var(console.writeline ve console.readline vb.) o kısımları senin değiştirerek ,programın işleyişi hakkında bilgini arttırman daha mantıklı olur :) kolay gelsin

      Sil
  2. kullanıcının kaç hakkı var ?

    YanıtlaSil

Yorum Gönder

Yazıya yorum yap :