Consol’da eğlenceli bir uygulama

     Sizde programlamaya Console’un simsiyah ve büyüleyici ekranıyla başladıysanız. Biraz eğlence arıyor olabilirsiniz. Bu uygulamanın ilginizi çekeceğini düşünüyorum. İyi çalışmalar…Screenshot_6Screenshot_12Screenshot_8

Şimdide bu uygulamanın kodlarına bakalım.


 static void Main(string[] args)
 {
     string mesaj, sekil;
     Console.WriteLine("Kim demiş konsol sıkıcı diye :) Senin için birşey yapacağım.");
     Console.Write("\nBana ismini yazarmısın : ");
     mesaj = Console.ReadLine();
     Console.Write("\nŞimdi bir şekil seç (X veya O) : ");
     sekil = Console.ReadLine();
     Console.Clear();
     switch (sekil)
     {
          case "x":
          case "X":
          for (int i = 1; i <= 20; i++)
          {
               Console.SetCursorPosition(i + 20, i);
               Console.Write(mesaj);
               Console.SetCursorPosition(40 - i, i);
               Console.Write(mesaj);
          }
          break;
          case "o":
          case "O":
          case "0":
          for (int j = 12; j > 1; j--)
          {
               Console.SetCursorPosition(34 - j, j);
               Console.Write(mesaj);
               Console.SetCursorPosition(39 + j, j);
               Console.Write(mesaj);
               Console.SetCursorPosition(21 + j, j + 12);
               Console.Write(mesaj);
               Console.SetCursorPosition(52 - j, j + 12);
               Console.Write(mesaj);
          }
          break;
          default:
                Console.WriteLine("X yada O seç lütfen. Diğerlerini yapamıyorum.");
          break;
     }
     Console.ReadLine();
}

Tom ve Jerry Oyunu

     Merhaba arkadaşlar bugün sizlere tanıtacağım bu basit oyun, aynı zamanda benim sınıf bitirme projemdi. Sizlere de ilham olması dileğiyle…

11

     Küçüklüğümüzden beri hep severek izlediğimiz Tom ve Jerry’e son yıllarda sanki biraz hasret kaldık gibi değil mi? .) Neden basit bir programlama kullanarak bu sevimli ikiliyi ölümsüzleştirmiyoruz?  Bu makalemin sonunda oyun yapmanın aslında o kadarda zor olmadığını göreceksiniz.

     Öncelikle giriş ekranından başlayalım. Burada oyuna biraz daha eğlence katması için ben zorluk seçme ekranı koydum. Elbette yemek tarifleri gibi her programcının kendi stili vardır kullanmaya da bilirsiniz. Bunun yerine sadece yükleniyor sayfası yada bir logoda kullanabilirsiniz.

22

     Oyunumuzun konusu ise şöyle Jerry’nin karnı çok açıkmış ve ekranda beliren tüm peynirleri süre bitmeden toplaması lazım. Elbette ekranda rastgele beliren Tom’da her zamanki gibi onu oldukça zorlayacak.

     Zorluk demişken, elbette oyunun başında seçtiğiniz zorluğa göre peynir sayısı, Tom’un hızı ve süre elbette değişiyor. Zor seviyede çok daha hızlı ve dikkatli olmalısınız.

     Oyunu kaybedince veya kazanıncada bu şekilde bi splash ekran bizi karşılıyor. Burada puanımız ve süremiz yazıyor.

33           22

Neyse sanırım bu kadar tanıtım yeterli .) projenin kodlarını buraya tıklayarak inceleyebilirsiniz. İyi çalışmalar…

Kızılay Otomasyonu

giris

form

Bu projeyi yine üniversite 1. sınıfta bir dönem projesi olarak yapmıştım. Her ne kadar Kızılay’ın bu projeden haberi olmasada .) tam anlamıyla Kızılay için üretilmiş ve geliştirilmiş bir otomasyon programıdır. Veritabanı olarak Microsoft Access VT. (mdb) kullanılmıştır ve yazdırma, rapor alma, kayıt ekleme, gibi işlemlerin yapıldığı bu programda, donörlerin kişisel ve rutin bilgileride saklanmaktadır. Her nekadar bu projenin amacı; kan verme alışkanlığı kazandırmak ve hâlâ kağıtlarla yapılan bu işlemin daha güvenli ve hızlı bir ortama taşıyabilmek olsada, bir ödev olmanın ilerisine gidememesi ve şuanda kullanılmaması da beni hayli üzüyor. Bu yüzden bu projenin kodlarını şuan paylaşamayacağım fakat fikir olarak sizlerde bir kıvılcım yaratmasını diliyorum. Başarılar arkadaşlar…

Değişken Tipleri

C#’da kullanılan değişkenleri bu makalemde sizler için topladım. Kolay gelsin…

C# taki adı CTS Karşılığı Açıklama Max ve Min aralık yada değeri
sbyte System.Byte 8 bit işaretli tamsayı -128 : 127
short System.Int16 16 bit işaretli tamsayı -32.768 : 32.767
int System.Int32 32 bit işaretli tamsayı -2.147.483.648 : 2.147.483.647
long System.Int64 64 bit işaretli tamsayı -9.223.372.036.854.775.808 : -9.223.372.036.854.775.807
byte System.Byte 8 bit işaretsiz tamsayı 0 : 255
ushort System.UInt16 16 bit işaretsiz tamsayı 0 : 65.535
uint System.UInt32 32 bit işaretsiz tamsayı 0 : 4.294.967.295
ulong System.UInt64 64 bit işaretsiz tamsayı 0 : 18.446.744.073.709.551.615
float System.Single 32 bit tek kayan sayı +yada – 1,5*10-45 : + ya da – 3,4*1038
double Sytem.Double 64 bit çift kayan sayı +yada – 5*10-324 : + ya da – 1,7*10308
decimal System.Decimal 128 bit ondalıklı sayı +yada – 1,5*10-28 : + ya da – 7,9*1028
bool System.Boolean true ya da false
char System.Char Karakterleri temsil eder 16 Unicode karakterleri
object System.Object Bütün veri türlerinin türediği kök eleman
string System.String Unicode karakterlerinden oluşan string

Operatörler

Arkadaşlar operatörleri internette pek çok yerde görebilirsiniz ama çoğunun eksikleri olduğunu farkettim. Diğer operatörleri de es geçmemek lazım diyerek, başlıyorum.

Aritmetik Operatörler

Matematiksel işlemlerin gerçekleşmesi için kullanılırlar.

+

Toplama

Çıkarma

*

Çarpma

^

Üs Alma

/

Bölme

%

Mod

Aktarma Operatörleri

Değişkenlere değer aktarmak amacı ile kullanılırlar.

+=

Solundaki değişken ile sağındakini toplayarak, sonucu solundaki değişkene aktarır.

-=

Solundaki değişkenden sağındakini çıkartarak, sonucu solundaki değişkene aktarır.

*=

Solundaki değişken ile sağındakini çarparak, sonucu solundaki değişkene aktarır.

/=

Solundaki değişkeni sağındaki değişkene bölerek, sonucu solundaki değişkene aktarır.

%=

Solundaki değişkeni sağındaki değişkene bölerek, kalanı solundaki değişkene aktarır.

Mantıksal Operatörler

Aynı zamanda boolean operatörlerde denir. Mantıksal operatörlerle true ve false olmak üzere iki değer üzerinde işlem yapılır.

Operatör

İsmi

Açıklama

Örnek

&

VE

true değeri alması için iki değişkende true olmalıdır. true & true = true

true & false = false

false & true = false

false & false = false

|

VEYA

Değişkenlerden herhangi biri true ise true üretir. Sadece iki tarafda false ise false değeri üretilir. true | true = true

true | false = true

false | true = true

false | false = false

&&

VE DEĞİL

Eğer ilk değişken true ise and gerçekleşir. false ise bakılmaksızın false sonucu üretilir. false && işlem yapılmayan değişken = false

true && true = true

true && false = false

 

||

VEYA DEĞİL

Eğer ilk değişken false ise, or gerçekleşir. true ise bakılmaksızın true sonucu üretilir. true || işlem yapılmayan değişken = true

false || true = true

false || false = false

^

ÖZEL VEYA

İki değişkenden biri diğerinden farklı ise true sonucu üretir. true ^ true = false

true ^ false = true

false ^ true = true

false ^ false = false

!

DEĞİL

Değişkenin değerini tersine çevirir. ! true = false

! false = true

??

NULL COALESCING

Eğer ilk değişken null ise, ikinci değer hesaplanır. Aksi takdirde ikinci değişken işleme konulmaz.  x ?? y

?:

KOŞUL

 Eğer x değeri true ise, y değişkeni hesaplanır, false ise z hesaplanır.  x ?: y : z

Karşılaştırma Operatörleri

>

Büyüktür

<

Küçüktür

>=

Büyük ya da eşittir

<=

Küçük ya da eşittir

==

Eşittir

!

Değil

!=

Eşit Değil

–>

Uzaklaşma operatörü

<–

Yakınlaşma operatörü

Console Basit Hesap Programı

Sıra geldi her programramcının olmazsa olmazı hesap makinesi programını yapmaya 🙂 Hadi temel dört işlemi yapan basit bir hesap makinesi yapalım. Ortam Console Application dil C#.

DortIslem

Kodlarımız ise şöyle:

static void Main(string[] args)
{
     int birinci, ikinci;
     Console.BackgroundColor = ConsoleColor.Black;
     Console.ForegroundColor = ConsoleColor.Green;
     Console.Clear();
     try
     {
          Console.Write("Birinci Sayıyı Girin : ");
          birinci = Convert.ToInt32(Console.ReadLine());
          Console.Write("İkinci Sayıyı Girin  : ");
          ikinci = Convert.ToInt32(Console.ReadLine());
          Console.WriteLine("\n1:Toplama\n2:Çıkarma\n3:Çarpma\n4:Bölme");
          Console.Write("\nYapmak istediğiniz işlemin kodu:");
          switch (Convert.ToInt32(Console.ReadLine()))
          {
               case 1:
                    Console.WriteLine("\n{0} + {1} = {2}", birinci, ikinci, birinci+ikinci);
                    break;
               case 2:
                    Console.WriteLine("\n{0} - {1} = {2}", birinci, ikinci, birinci-ikinci);
                    break;
               case 3:
                    Console.WriteLine("\n{0} * {1} = {2}", birinci, ikinci, birinci*ikinci);
                    break;
               case 4:
                    Console.WriteLine("\n{0} / {1} = {2}", birinci, ikinci, birinci/ikinci);
                    break;
               default:
                    Console.WriteLine("\n\aLütfen 1-4 arasında bir değer giriniz :");
                    break;
           }
     }     
     catch (FormatException)
     {
          Console.WriteLine("\n\aHata! Lütfen sayısal değer giriniz!");
     }
     catch (Exception hata)
     {
          Console.WriteLine("\nHata! Şu hata oluştu:"+hata);
     }
     finally
     {
          Console.Write("\n<<Çıkmak için enter basın>>");
     }
     Console.ReadLine();
}

Klavyeden basılan tuşu bulma (KeyInfo)

Kullanıcının hangi tuşa bastığını öğrenmek bu proje için pek faydalı değil ama geliştirdiğiniz başka bir programda bunu denetlemeniz gerekebilir. Dil C#, ortam Console.Application. Faydalı olması dileğiyle…

birrtus

Programın kodları ise şöyle:

static void Main(string[] args)
{
     Console.WriteLine("Bir tuşa basınız...");
     System.ConsoleKeyInfo KeyInfo = Console.ReadKey(true);
     Console.WriteLine("\n" + KeyInfo.Key.ToString() + " tuşuna bastınız!..");
     Console.ReadLine();
}

Console’da Fibonacci Dizisi oluşturmak

Fibonacci sayılarını duymuşsunuzdur. Duymadıysanız buradan inceleyebilirsiniz. Şimdi bu sayıları programa dökeceğiz. Dil yine C# ortam Console Application. Programın çıktısı ise şöyle :Fibonacci

static void Main(string[] args)
{
     int b = 1, i = 0, u = 0;
     while (true)
     {
          if (u <= 1597)
          {
               u = b + i;
               Console.Write(u + ", ");
               b = i;
               i = u;
          }
          else break;
     }
     Console.ReadLine();
}

Elbette sayılar sonsuz olduğu için 1597’de döngümüzü durdurduk. İyi çalışmalar…

Console’da Çarpım Tablosu Yapmak

Bu makalemde sizlerle oldukça basit, küçük bir uygulama yazacağız. Dilimiz C# ve ortam da Console Application. Programın çıktısı ise şu şekilde :CarpimŞimdi kodlarına bir göz atalım.

static void Main(string[] args)
{
     int satir = 0;
     int sutun = 1;
     for (int i = 1; i <= 10; i++)
     {
          for (int j = 1; j <= 10; j++)
          {
               Console.SetCursorPosition(sutun, satir + j);
               Console.WriteLine("{0}x{1}={2}", i, j, (i * j));
          }
          sutun = sutun + 14;
          if (i == 5)
          {
               sutun = 1;
               satir = 13;
          }
     }
     Console.ReadLine();
 }

Bu benim izlediğim bi yol, elbette farklı yollar izleyerekde aynı sonucu elde edebilirsiniz. Hayal gücünüze kalmış. Kolay gelsin .)

Programlamaya başlamak

      Buna başlamadan önce gerçekten ne istediğinize karar vermelisiniz. Severek yapılmayan bir işten, hiçbir zaman verim alamazsınız. Şimdi diyelim ki ne istediğimize karar verdik “programlama” peki nerden başlayacağız? Bence 4 aşaması var :

  1. Bir programlama dili seç
  2. Dili öğren
  3. Hevesli ve meraklı ol
  4. Yazmaya başla..

      Şimdi programlama dilini nasıl seçicez. Öncelikle kolay yada zor dil diye birşey yok aklınızdan bunu çıkarın. İnsan diline yakın dil ve makine diline yakın dil var. Aklınıza gelen tüm makineler 1 ve 0 lardan anlarlar. Makineler için üçüncü bir seçenek yoktur. Birşeyin cevabı ya evettir ya hayır, ya 1 dir yada 0. İnsanlar içinse durum farklı. İşte bu yüzden programlama dillerinin seviyeleri var. Kendinize en uygun dili seçerken bunu bilmelisiniz. Ayrıca programlama dilini seçerken pek yaygın olmayan bir dil seçerseniz bir sorun yaşadığınızda yardım alabilme imkanınız güçleşir. O yüzden benim tavsiyem popüler dillerden birini seçin. Böylece yardım almak istediğinizde internetten kolayca yardım alabilirsiniz. İşte yaygın birkaç dil : C#, C++, Visual Basic…

          Dilimizi seçtik artık öğrenme vakti. Bir kitap alabilir, internetten videolar izleyebilir veya bu dili bilen birinden ders alabilirsin. Senin için öğrenmek nasıl zevkli hale geliyorsa o yolu seçmen daha yararlı olacaktır. Ve öğrendiklerini hemen uygulaman, ezberlemek değilde gerçekten öğrenmeye çabalaman gerekiyor. İşte buda hevesli olma aşaması. Bu sırayı doğru takip ettiysen artık içinde müthiş bir merak ve öğrenme isteği var demektir. Artık yazmaya geçebilirsin.. 🙂

           Bu işe severek başladıysan ilk programını yazdığında inan bana durmak istemeyeceksin. Bu senin için bir sanata dönüşecek, fikirler birbirini tetikleyecek asla yetinmeyeceksin. Yazmaya devam edeceksin artık kendi dünyandasın ve tamamen özgürsün! Benim deyişimle:

“Kendi programlama dünyanın rock yıldızısın!..”  😉

          Umarım bu yazı faydalı olur ve ufkunda bir yerler açmıştır. Aramıza hoşgeldin dostum…