Şah – Taşların Hareketi

Şah – Taşların Hareketi

Oyunun en önemli taşıdır. Değeri sonsuz olarak kabul edilir. Şah oyunun başlarında Rok dışında herhangi bir tehdit yoksa pasif olarak tahtada yerini alır. Şahın tehdit altında olmayacağı çevresindeki herhangi bir kareye 1 birim hareket ederek oyunda hareket eder. Şah oyun içerisinde iki durumda bizim için daha da değerlidir.

Oyun sonlarında taş sayısını azalmasına bağlı olarak,oyuna girer ve diğer taşları da koruyarak oyun sonunda önemli bir yer  teşkil eder.

Kale ile birlikte Rok atarak hem kendini koruma yoluna hem de kaleyi hızlı bir şekilde oyuna sokmayı hedefler.Şahın tahtadaki hareketlerine bir bakalım.

Şah Tehdit Altında ise;

Eğer ki şah rakibin herhangi bir taşı ile tehdit edilirse karşısına 3 farklı seçenek çıkar.

1.Araya taş koyma – Tehdit ile kendi arasına bloklama işlemi

2.Rakibin tehdit ettiği taşı alma. (Eğer kare şah için güvenli bir kareyse)

3.Başka bir taşla tehdit eden taşı alma. (Bu hareket de yine aynı şekilde şahı tehlikeye sokmayacak bir şekilde olmalı – Açmaz)

Güvenli Kare : Şahın hareket edebileceği rakip taşların herhangi bir tehditte bulunmadığı kareler olarak tanımlanabilir. Diagrama beraber bakalım.

Yukarıdaki şablonda beyaz taşın hareketlerine siyah taş şu şekilde cevap verebilir. Siyah için daha kazançlı hamleler dizisi aşağıdaki gibidir.

İyi çalışmalar.

Kategori Satranç
04.04.2016
857 Okunma

Bir Spor dalı olarak Satranç.!

Satrancın kökenleri tam bilinmiyor olsa da, iki bin yıl önce Hindistan’da oynanan, satranca benzeyen oyunlardan evrildiği düşünülmektedir.Avrupa’da popüler olan ve bugün bildiğimiz satranç ise on beşinci yüzyıldan beri oynanmaktadır.

Satrançta amaç

Satranç alternatif renk 64 kare içeren satranç tahtası adı verilen bord ve taşlarla iki rakip arasında oynanan bir oyundur. 1 kral, 1 kraliçe, 2 kale, 2 fil, 2 şövalyeler ve 8 piyon: Her oyuncunun 16 adet taşı vardır. Oyunun amacı şahı tehdit altında bırakmak ve şaha bunun sonucunda tehdite cevap verememesini sağlamaktır. Burada kral şahı,kraliçe veziri,şövalyeler ise at taşına itafen kullanılan diğer isimlerdir.

Oyun için Başlangıç

Oyunun başlangıcında satranç tahtası oyuncuların önüne sağ alt köşesi beyaz kare olacak şekilde yerleştirilir. Satranç parçalar daha sonra her zaman aynı şekilde düzenlenir. İkinci satır (veya rütbe) piyonlar ile doldurulur. Kale köşelere, daha sonra şövalyeler, filler ve son olarak kendi rengi dışında bir kareye şah, ve son olarak da vezir yerleştirilir.

Beyaz taşlara sahip oyuncu her zaman ilk hamleyi yapar. İlk açılış hamlesini beyaz yaptığından kimin beyazla oynanacağına şans ile karar verilebilir. Siyahın hamleleri ile birlikte oyun devam eder. Beyazın ve siyahın yapmış oldukları hamleler belli açılış isimleriyle anılmıştır. Bunları açılışlar kısmında değineceğiz. Bir Spor dalı olarak Satranç.!  uzun soluklu ve meşaketli bir sürecin sonunda oluşmuş,diğer spor dallarına göre daha fazla zihinsel aktivite gerektiren bir spor dalı olarak karşımıza çıkmaktadır.

Kategori Satranç
03.04.2016
1252 Okunma

C Sharp MySql Database Class

C Sharp MySql Database Class

C Sharp MySql Database Class

Merhaba arkadaşlar. Bu aralar c# ile bir proje üzerinde çalışma imkanına kavuştum. Proje içinde mysql sunucusu ile çalışma imkanına kavuştum. Proje büyükçe, ve sorgulamalar karmaşıklaştıkça kod yazmaya çalışmak işkence halini alıyor. Ne olur ne olmaz diyerek SQL sorgulamalarını yapabileceğim küçük çapta bir class yazmak istedim. Ortayada böyle birşey çıktı 🙂 Nette c# ve MYSQL ile alakalı birçok site gezdim. Benzer birşeye rast gelmek istedim, gelemedim. iş başa düştü.Burada anlatacağım konuyu,araştırmaya başladığım andan bu yana olan konuyu kapsayacak şekilde en başından itibaren anlatmayı uygun gördüm.

Öncelikle bilgisayarda mysql sunucusunun bulunması gerekmektedir. Bunun için buradan içinde (Apache+mysql+ Php) yüklü olduğu wampserver adlı programı indiririp,bilgisayarımıza kuruyoruz.

Ardından MySql ile .net in birbiri ile aynı dili konuşmasını sağlayacak connector dosyasını şuradan indirip bilgisayarımıza kuruyoruz. Connectoru kurduktan sonra yeni proje açıyoruz.Proje açıldıktan sonra Visual Studio da Project>Add Reference dan “Browse” Kısmına geçip, Mysql.Data.dll dosyasını ekliyoruz.(Yol C:Program FilesMySQLMySQL Connector Net 6.2.2Assemblies büyk ihtimal bu dizinin içerisinde olacaktir.Eğer connectoru farklı bir dizine kurduysanız,o dizinde dosyayı aramanız mantıklı olacaktır.)

Bu işlemi de yaptıktan sonra proje dosyamıza mysql kütüphane dosyalarını eklemekle devam edebiliriz.
Mysql fonksiyonlarını kullanmamazı sağlamak amacıyla…

using MySql.Data;
using MySql.Data.MySqlClient;

Eğer formla ilgili işlem yapacaksanız. Aşağıdaki satırı projenize dahil etmeniz yeterli olacaktır.

using System.Windows.Forms;

Şimdi Mysql ile kod çalışmaya başlayabilir. Sorgulama işlemlerimizi gerçekleştirebiliriz. Aşağıda yazılmış olan class dosyası bulunmaktadir. Bu class dosyasını projenize dahil etmek için Projeye tıklayıp, Add New Item seçeneği seçilmelidir. Class dosyasını kopyalayıp, açılan class dosyasının içeriğini silip,buraya yapıştırıyoruz. Class dosyasını dahil ettikten sonra namespace ismini kendi projenizin namespace ismiyle değiştirmeniz gerekmektedirler. Bu çook önemli x)

C# Mysql Class

C# MySql Database Class

 

Class dosyasının docx şeklindeki halini indirmek için
tıklayınız. Dosyanın içerigini aldıktan sonra içeriği alıp yukarıda anlattıığım gibi işlemlerinizi gerçekleştirin. Ardından asıl projenizi yazacağınız form ekranına gelin. Class içinde db de insert,delete,update ve select işlemlerinizi gerçekleştirebilirsiniz.

Aşağıdaki örnekte kayit işlemiyle ilgili bir kod parçası görülmektedir. Peki bu kod parçası ne işe yarıyor ?

Sql Kayıt

Şimdi öncelikle yapmanız gerekenlerden en önemlisi class dosyası içindeki sunucuya bağlanmak için gerekli
argümanları girmeniz gerekmektedir. Nedir peki bunlar ❓

ServerName şu an bilgisayarımda Mysql sunucusunu barındırdığım için, localhost yazıyorum. Eğer wamp kurulumunu gerçekleştirdiyseniz, sizinde “localhost” yazmanız gerekir 🙂

Ardından kullandığınız sunucudaki database ismini, kullanıcı adi ve şifrenizi doğru bir şekilde girin 😉 Class dosyasında yapacağımız işlemler bununla sınırlı 🙂

Şimdi kod bloğuna dönecek olursak;

Öncelikle string tipinde sql değişkeni tanımlanmıştır. Bu nesnemizin bize döndereceği sql komutunu tutmamıza yarayacaktir. Ardından class dosyasının adını kullanarak “db” adında bir nesne oluşturuyoruz.

Mysql db=new MySql();

Ardından nesneyi kullanarak bağlantı kurmamızı sağlayan db_connect() fonksiyonunu çağırıyoruz.

db.db_connect();

Şimdi önemli olan kısma geliyoruz. insert_values fonksiyonu tablonuzdaki her alan için veri girmenizi sağlar. Örneğin;

db.insert_values(“kodu”,kodu.Text);

Tabloda bulunan kodu alanına Form da bir textin içeriğinde bulunan bilgiyi atamaktadir. 😉 Bu şekilde satırlarımızı
eklediğimizi düşünelim. Ardından

sql=db.sql_insert(“stok”);

satırıyla fonksiyona tablo ismimizi gönderdik. Ve bunun sonucunda oluşan sql cümleciğini yukarıda tanımladığımız sql değişkenine atadık. Şimdi ise sorgulama işlemimizi gerçekleştiriyoruz. İf içindeki db.sql_query(sql) ile sorgulama işlemimizi tamamladık, sonrasında (1 ise sorgu çalışmıştır) ise işlemi yapıp yapmadığına dair bir mesaj aldık

if (db.sql_query(sql) == 1)
{
MessageBox.Show(“Kayıt işlemi başarıyla tamamlandı.”, “Uyarı”, MessageBoxButtons.OK,MessageBox
Icon.Information);
}

Kaydetme için işlemler bu kadar 🙂 Şimdi SELCT ve UPDATE işlemleri için aşagıdaki kod parçalarını incelemenizi istiyorum 🙂

Sql Update

şimdi update işlemi için aşağıdaki kodun çalışmasını açıklamaya çalışalım.Öncelikle bir nesne oluşturup db ye nasıl bağlanacağını az önceki örneğimizde açıklamıştık. Devam edecek olursak 4. satırdaki kodumuzu açıklayalım.

dbSilStok.update_values(“stok_durum”,”0″);

Bu satırı tıplı kayit işlemindeki insert_values() değerleri için nasıl çoğalttıysak bunun içinde çoğaltabiliriz.Burada sadece tablodaki stok_durum alanı güncellenmek istenmektedir.

sql=dbSilStok.sql_update(“stok”,”kodu='” + kodu.Text +”‘”);

Yukarıdaki satirla birlikte string olarak tanımlanmış sql değişkenine sorgu atanır. stok tablo ismi,diğer kısım ise şarta bağlı olarka değiştirilmek istenen kısımdır.if içindeki fonksiyona sql değişkenini gönderip sorgulama yapmak istediğimizde işlem tamamlanmış olacaktır.

Aşağıda küçük bir kaydetme uygulaması mevcut. Bu uygulamayı bilgisayarınıza indirin. Connectoru ve wamp serverı yukarıda anlatıldığı gibi yükleyin. Klasor içindeki sql dosyasını sol alt köşede çalışan wamp iconuna sol tıklayarak, phpmyadmin seçeneğini çalıştırın. Ve gelen pencereden içeriği aktar seçeneğini seçin. Dosyayı seçtikten sonra Git düğmesine basın. Database oluşmuş olacaktır. Sonra uygulamayı çalıştırın. Eğer connector ile ilgili bir hata çıkarsa, MysqlData.dll dosyasını önce reference den silip sonra tekrar ekleyin. Uygulamayı çalıştırın.

Kategori C#
31.05.2010
3584 Okunma