Csharp ile Sayı Tahmin Edelim


Bu sayı tahmini alışıla gelenlerden biraz farklı olacak. Bilgisayar otomatik olarak bir sayı tutacak ve bizim bu sayıyı tahmin ederken gereken yerlerde ipucu verecek.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace sayitahmini
{
    class Program
    {
        public static int tahminsayi = new int();
        public static int i, j;
        public static string sayi, usayi;
        public static Random sayiuret = new Random();
        public static DateTime zaman1 = DateTime.Now;
        public static DateTime zaman2 = DateTime.Now;
        static int puan = 100;
        static void kontrol()
        {
            for (i = 0; i < 4; i++)
            {
                for (j = 0; j < 4; j++)
                {
                    if (sayi == usayi[j])
                    {
                        if (i != j)
                        {
                            Console.WriteLine("İpucu :");
                            Console.WriteLine( "{0}",sayi);
                        }
                    }
                }
            }
        }
        static void sonuctablosu()
        {
           zaman2=DateTime.Now;
           Console.WriteLine("Bitiş Zamanı :{0}",zaman2);
            TimeSpan gecenzaman =zaman2 -zaman1 ;
            Console.WriteLine("Doğru Bildiniz...Tebrikler!!!"); 
    Console.WriteLine("{0}.Tahminde Doğru Sonucu Buldunuz...",tahminsayi);
            Console.WriteLine("Toplam Aldığınız Puan :{0}",puan);
            Console.WriteLine("Tam Olarak Sonucu {0}:{1}:{2} zaman süresinde Bildiniz...",gecenzaman.Hours,gecenzaman.Minutes,gecenzaman.Seconds);

        }
        static void Main(string[] args)
        {
            zaman1 = DateTime.Now;
            Console.WriteLine("Başlama Zamanı :{0}", zaman1);
            tahminsayi = 1;
            usayi = Convert.ToString(sayiuret.Next(1000, 9999));
            Console.WriteLine(usayi);         
            do
            {
                Console.WriteLine("Sayı Giriniz:");
                sayi = Convert.ToString(Console.ReadLine());
                if (sayi == usayi)
                {
                    sonuctablosu();
                    break;
                }
                else
                {
                    tahminsayi++;
                    puan = puan - 10;
                    kontrol();
                }
            } while (true);
        }
    }
}

Burada ilk önce “Random” fonksiyonu ile “1000- 9999” arasında rastgele bir sayı tutuyoruz .Daha sonra Do-While döngüsüyle oyuncudan sayı tahmininde bulanmasını istiyoruz. Eğer doğru bilirse oyuncuya genel bilgiler verip programı sonlandırıyoruz.

Çalışma Örnek: Rastgele girilen sayı “1568” olsun ve kullanıcı “1702” sayısını girdiği zaman “1 – 1” eşit ve binler basamağında olduğu için program herhangi bir ipucu vermeyecek ve tekrar bir sayı istenecek. Eğer “7102” girilmiş olsa idi “1-1” eşit fakat biri binler biri yüzler basamağında olduğu için yani rakamın yeri değişik olduğu zaman bize ipucu olarak bu sayıyı verecektir.

Bir sonraki örnek çalışmamızda görüşmek üzere.

Yayınlayan

Fuat ŞENGÜL

Fuat ŞENGÜL Samsun Havza ilçesinde 23.05.1990 da doğdu. Bilgisayar ile lise öğreniminde tanışan yazar Pascal, C/C++, Assembly ve Visual Basic dilleriyle birlikte yazılıma adım attı. 2008 yılında Fırat Üniversitesi Teknik Eğitim Fakültesi Bilgisayar öğretmenliğini kazandı. Öğrenimi sırasında web ve masaüstü yazılımları konusunda projelere imza atan yazar 2012 yılında mezun oldu. Yazar C/C++, C#, Asp.Net, Matlap, Jquery, Css ve Html gibi programlama dillerine hakim ve bu diller ile projeler üretmeye devam etmektedir. Bilişim Teknolojileri öğretmeni olarak görev yapmaktadır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

four + seventeen =