Pascal ile Tic Tac Toe (Rapor)

Yazdığım rapor.. 

                                                             İÇİNDEKİLER

BÖLÜM 1. YÖNTEM                                     sayfa

1.    1 Problem ve Çözümünün İfadesi…………  3

1.    2 Akış Diagramı…………………………….  4

BÖLÜM 2. PROGRAM………………………..  9

BÖLÜM 3. UYGULAMA………………………….. 14


 


 

BÖLÜM 1

 

YÖNTEM

 

1.1               Problem ve Çözümünün İfadesi

 

Verilen problem: 3×3 lük bir matrisi ekrana yazdırma, herhangi bir gözün değerini okuma ya da oraya veri atamayı yapabilmek amacıyla geliştirilen bir tic-tac-toe oyunudur. Bu oyunda amaç çapraz, dik ya da yatay hizada aynı işareti getiren kazanır esasına dayanır. Bilgisayarla kimin kazanıp kazanmadığı; kazanan olmazsa berabere bittiği ekrana yazdırılmalı ve bilgisayarın hangi gözlere hamle yaptığı gösterilmelidir. Ayrıca oyuncunun hamlesini yapmak istediği yerlerin matris içerisinde olması şartı aranmalı ve içerdeyse boş ya da dolu olduğu kontrol edilmelidir.

 

Çözüm: Gerekli tanımlamaları yaptıktan ve matrisin tüm elemanları boş yapıldıktan sonra oyuncudan “X” ya da “O” işaretlerinden hangisi seçmek istediği sorularak oyuna başlanır. Oyuncunun seçtiği işaretin tersi bilgisayarın olacak şekilde kazanan olmadığı ve oyun sayısı 10 dan küçük olduğu sürece oyun devam etmektedir. Bu süreç içerisinde oyuncudan hamlesini yapmak istediği satır ve sütün numaraları alınarak önce o satır ve sütün numaralarının matrise ait olup olmadığı kontrol edilir ve daha sonra boş ya da dolu olduğu incelenerek oyuncu bilgilendirilir. Dolu olması durumunda tekrar satır ve sütun numaraları girmesi sağlanır. Oyuncu hamlesini yaptıktan sonra bilgisayara 0 ile 2 dahil olacak şekilde 0-2 arasında bir sayı üretir. Bu sayının 1 artırılmasıyla rastgele üretilen satır numarası bulunmuş olur bu satır numarasındaki ilk boş gözü bilgisayar kendi işaretiyle işaretler. Bilgisayarın da hamlesinden sonra oyunun kazananının olup olmadığı kontrol edilir ve oyun sayısı bir arttırılır. Kazanan olursa ekrana kazanan tarafın kim olduğu yazdırılır. Eğer oyun sayısı 9 dan büyük olmuşsa ve kazanan yoksa berabere bittiği ekrana yazdırılır.

 


BÖLÜM 2

 

PROGRAM

~ KODLAR~

 

BÖLÜM 3

 

UYGULAMA

 

Kök Hesaplayan Program

Klasik Math.Sqrt fonksiyonuyla değil de kendi yöntemlerimizle kök içini verecek şekilde örneğin 2√2 gibi gösteren bir program geliştiriyor olacağız. Bunun için aşağıdakine benzer bir tasarım kullanacağım

Burda 45 için yapılmış bir örnek mevcut zaten.

 

 

 

 

Peki nasıl kodlarız ?

Helal Galatasaray !

Etkili oyunuyla 1319 gündür yenemediğimiz ezeli rakibimizi yendik elhamdülillah.. Düşene de bir tekme biz vurmuş olsak da feneri yenmenin zevkinin başka olduğunu anladık Smile

Kopyala – Yapıştır Yardımcısı / Copy – Paste Manager

Bir metnin hepsini değil de orasından burasından önemli kısımları kopyalayıp bunları bir not defterinde toparladığım çok olmuştur ya da el alışkanlığıyla bir önceki kopyaladığımız yazıların gittiği olmuştur. Ben de kendim için bir program geliştirdim.

Ekran Görüntüsü : 

Böyle bir monitör ekrana sahip program. Birçok win32 apileri kullanıyor

 ctrl + num0 ile 0. kolon a yani en sol üsttekinin indeksi 0 olmakta oraya o yazıyı alıyor benzer şekilde ctrl + num1 gibi de diğerlerini yerleştiriyor program daha geliştirilebilir beni şuan idare ediyor.

ayrıca kopyalayınca sol altta şuna benzer bir pencere çıkıyor 

Yapıştırmak için ctrl + shift + num0 gibi çok denesem de olmadı 🙂 onun yerine ctrl + shift + ” -> 0 için 

1 için ctrl + shift + 1 kısayolları kullanılıyor.

İndirmek için Tıklayın.

Proje için admin@saidaydogan.com

Yazılım Günü

Benim açımdan yazılım gününün finans gününden etkin ve öğretici geçtiği kesin. Genel olarak oturumlar yeni fikirler üretme ve bakış açısını farklı kılma amaçlı konuşma ağırlıklıydı.

Teknik konulara girenler ise Agile Turkey başkanı Mehmet YİTMEN ve C ve Sistem Kullanıcıları Derneği Eğitmeni Aykut TAŞDELEN di. Bu adamlara hayran olmamak elde değil 🙂 

Aykut hocanın oturumu en zevk aldığım oturumdu kısaca anlattıklarından bahsedecek olursak :

– C nin bir OOP ( Nesne yönelimli programlama) dil olmadığı fakat C++ ın olduğu..

– C i öğrenmek için derneklerinde 180 saatlik bir program uyguladıklarını.

– İşletim sistemi projelerinin (2000 yılından beri) olduğunu ve hâla sürdüğünü.

– Sistem programlamanın biraz mazoşist olmayı gerektirdiği :))

– C++ 0x olarak önceden adlandırılan yeniliklerin(foreach,lamda expression,Nullptr vs gibi) olduğunu..

– C/C++ bilmek kişinin .net ,java ve bunların türevlerini gerçekten çocuk oyuncağı gibi öğrenebileceğinden bahsetti.

Unutmayım diye buraya yazdım 🙂

Finans ve Yazılım Günleri

Madem blog açtık bu işi günlüğe dönüştürmek gibi amacım yok aslında  yazı yazma becerilerimi(teknik ya da sosyal) geliştirme ve arada şöyle bir bakıp unuttuğum şeyleri hatırlama maksatlı açtım bu siteyi.

Kalite ve Verimlilik Kulubü‘nün Finans ve Yazılım Günleri etkinliğinin finans kısmı bugündü ve gerekli fazla bilgi öğrenmesem de güzeldi denilebilir. İlk konuşmacı dışında gerisi ilgim dışında kaldı. Ayrıca SAP hakkındaki çok kısa süren konuşma biraz daha uzun olabilirdi.

Yarın yazılım günündeki görüşlerimi de paylaşacağım.