C# ile Top Düşürme Oyunu + Kaynak Kod

Oyunun temel prensibi doğru düşen basket toplarını yakalamaktır. Bazen taş gibi nesneler düşürerek oyuncuyu yanıltıp can kaybetmesini sağlar. Toplamda 3 can ile başlarsınız ve canlarınız bitince oyunda sona erer. Seviye sistemine sahip bu oyunda belirli puanlarda seviyeniz artar, seviye arttıkça oyunun hızıda yükselir ve topların hangisini yakalamanız gerektiğini anlamanız ve o refleksle imleci topun altına götürmenizde bir hayli zorlaşır. C# ile yapılan bu oyun geliştirmeye tamamen açıktır isteyen arkadaşlar indirip kurcalayabilirler özellikle bu konuda ödev alan arkadaşlar projeyi referans alıp kendileride başka oyunlar yapabilirler.

C# Matematik 4 İşlem Oyunu Kaynak Kod İndir

Merhaba arkadaşlar, Oyun tarafımca C# programlama dilinde GUİ tabanlı olarak yapılmıştır. Oyunda seviye ve puan sistemi mevcuttur belirli puanlara ulaştığınızda seviyeniz yükselir ve bununla eşit orantıda da oyunun zorluğu artar. Her seviye atladığınızda rastgele oluşan sayı aralıkları yükseltilerek zorlaşması amaçlanmıştır ama çok fazla sayılar üzerine düşünülmediğinden daha iyisi yapılabilir. Oyunda ekstradan hangi işlemlerin sorulacağını ayarlayabileceğiniz bir bölüm mevcuttur. Bu bölümde on-off switchlerini kullanarak oyunun bir sonraki soruda hangi işlemleri soracağını belirleyebilirsiniz. Daha ayrıntılı bilgi için aşağıdaki videolu tanıtımı izleyebilirsiniz. Bu haliyle basit bir oyundur isteyen indirerek oynayabilir kodlama bilgisi ve merakı olan arkadaşlar istediği gibi düzenleyerek geliştirebilirler. İndirme linkindeki rar dosyasında oyunun proje olarak kaynak kodları mevcuttur.

C# - Bilgisayara Özel Lisanslama Yapma

C# - Pcye Özel Lisanslama Yapma
Merhaba arkadaşlar bu yazımda C# programlama dilinde geliştirdiğiniz programları nasıl pc ye özel lisanslayacağınızı anlatmaya çalışacağım. Pc ye özel derken sadece o bilgisayarda çalışacak lisans kodu üreteceğiz. Peki bunu nasıl yapabiliriz? Her bilgisayarda farklı olan sabit değerlerle bilgisayara özel bir anahtar kod üreterek bunu yapabiliriz. Sabit olan değerlerden kastım cpu id , hdd serial, motherboard serial, mac adresi gibi değerler biz bu değerlerin hepsini alıp md5 le şifreleyerek anahtar kodumuzu oluşturup programımızda kullanıcıya göstereceğiz. Kullanıcıda bu anahtar kodu programımızı satın almak isterse bize gönderecek ve biz gerekli ödemelerini alıp ona özel lisans kodu oluşturarak atacağız. Temel mantığı bu şekilde tabi siz keyfinize göre bunu geliştirebilirsiniz.

Anahtar kod oluşturma projenizin başına eklemeniz gerekenler;
using System.Net.NetworkInformation;
using System.Security.Cryptography;
using System.Management;
Yukarıdakileri ekledikten sonra Public form kısmındaki InitializeComponent(); altına aşağıdaki kodlarımızı ekliyoruz.
 try
            {
                var cpuid = string.Empty;
                var hddserial = string.Empty;
                var motherboardserial = string.Empty;
                var macaddress = string.Empty;

                #region cpu id // Cpu id alma

                string sQuery = "SELECT ProcessorId FROM Win32_Processor";
                ManagementObjectSearcher oManagementObjectSearcher = new ManagementObjectSearcher(sQuery);
                ManagementObjectCollection oCollection = oManagementObjectSearcher.Get();
                foreach (ManagementObject oManagementObject in oCollection)
                {
                    cpuid = (string)oManagementObject["ProcessorId"];
                    break;
                }

                #endregion cpu id

                #region mac address// Mac adresi alma

                NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
                String sMacAddress = string.Empty;
                foreach (NetworkInterface adapter in nics)
                {
                    if (sMacAddress == String.Empty)
                    {
                        IPInterfaceProperties properties = adapter.GetIPProperties();
                        macaddress = adapter.GetPhysicalAddress().ToString();
                    }
                }

                #endregion mac address

                #region hdd serial // Harddisk serial alma

                ManagementObject dsk = new ManagementObject(@"win32_logicaldisk.deviceid=""c:""");
                dsk.Get();
                hddserial = dsk["VolumeSerialNumber"].ToString();

                #endregion hdd serial

                #region motherboard serial // Motherboard serial alma

                ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
                ManagementObjectCollection moc = mos.Get();
                foreach (ManagementObject mo in moc)
                {
                    motherboardserial = (string)mo["SerialNumber"];
                    break;
                }

                #endregion motherboard serial

                var anahtar = cpuid.Trim() + " " + hddserial.Trim() + " " + motherboardserial.Trim() + " " + macaddress.Trim();
                anahtar = Md5Sifrele(anahtar);
                txt_anahtar.Text = anahtar; // txt_anahtar adında textboxa oluşan kodu aktarıyoruz.
             
            }  
   
 
            catch (Exception ex)
            {
                MessageBox.Show("Lisans Anahtarı Oluşturulamıyor.", "Hata Oluştu", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }   
 } // public form1 kapanış
   
   public static string Md5Sifrele(string str) // Md5 Şifreleme algoritması
        {
            string result = string.Empty;
            try
            {
                MD5CryptoServiceProvider mD5CryptoServiceProvider = new MD5CryptoServiceProvider();
                byte[] bytes = Encoding.ASCII.GetBytes(str);
                byte[] array = mD5CryptoServiceProvider.ComputeHash(bytes);
                int capacity = (int)Math.Round((double)(array.Length * 3) + (double)array.Length / 8);
                StringBuilder stringBuilder = new StringBuilder(capacity);
                int num = array.Length - 1;
                for (int i = 0; i <= num; i++)
                {
                    stringBuilder.Append(BitConverter.ToString(array, i, 1));
                }
                result = stringBuilder.ToString().TrimEnd(new char[]
                {
            ' '
                });
            }
            catch (Exception)
            {
            }
            return result;
        }

    } // public partinal class bitişi
   
} // namespace bitişi



Projemizde anahtar kod oluşturmayı yaptıktan sonra dilerseniz aynı Md5 şifreleme üzerinden dilerseniz farklı bir şifreleme algoritması kullanarak anahtar kod + kullanıcı adı veya mail adresi = lisans kodu şeklinde bir lisanslama sistemi yapabilirsiniz bu husus tamamen sizin yaratıcılığına kalmış ben çok basit bir örnek verdim. Programınıza girişte lisans kodu varsa lisanslı özellikleri aç, lisans kodu yoksa demo sürümde devam et gibi bir kodlama yapabilirsiniz bunu yapmak için registry işlemleriyle kayıt defterine lisans kodu girilince doğruysa kayıt ettirip her girişte kodu sorgulatabilirsiniz. Talep olursa buna örnek kodlar ekleyebilirim. Bu arada Registry işlemleri kullanılmadan da lisans kodunu farklı konumlara yazdırarak sorgulayabilirsiniz. Bizim burada ki amacımız her pc ye özel bir anahtar kodu oluşturup ona göre lisanslamayı sağlamak başka pc lerde aynı lisansla çalışmasını engellemektir :)

Örnek anahtar kod oluşturma projesi ;
C# anahtar kod örnek proje

Lisans kodu oluşturmaya ve sorgulamaya çok basit bir örnek;
//lisanskod projemizde tanımlanacak global string değişken.
//ilk olarak lisans koda mail ve anahtar kod değerlerini atıyoruz.
//Daha sonra lisanskod değişkenini Md5 ile şifreleyerek lisans kodu oluşturuoruz.
lisanskod = txt_anahtar.Text + txt_mail.Text;
lisanskod = Md5Sifrele(lisanskod);
if(txt_lisans.Text == lisanskod)
    {
    //Program lisanslıyken aktif olucak özellikleri buraya yazabilirsiniz.
    }
Bu arada arkadaşlar bazılarınızın aklında peki lisans kodunu nasıl oluşturacağız sorusu olabilir onun içinde ufak bir örnek kod atacağım yukarıdaki verdiğim anahtar kod + mail adresi = lisans kodu mantığından bir lisans kodu üretici yapacağız. Buradaki temel unsur lisans kodunu oluşturduğumuz şifreleme algoritmasıyla aynı algoritmayı kullanmak yoksa farklı kodlar oluşur ve kullanıcı bilgisayarında eşleşme olmaz :) neyse fazla uzatmayayım.

Lisans kodu oluşturma projesinin başına eklemeniz gereken;
using System.Security.Cryptography;
Projemize benim lisanslama mantığıma göre 3 adet textbox 1 adet buton ekliyoruz 3 textboxu anahtar kod, mail adresi, lisans kodu şeklinde kullanacağız. Butonada lisans kodu oluşturma işlemi için gerekli kodlarımızı gireceğiz.

Projemizin kod bölümüne aşağıdaki kodları ekleyelim;
public static string Md5Sifrele(string str) // Md5 Şifreleme algoritması
        {
            string result = string.Empty;
            try
            {
                MD5CryptoServiceProvider mD5CryptoServiceProvider = new MD5CryptoServiceProvider();
                byte[] bytes = Encoding.ASCII.GetBytes(str);
                byte[] array = mD5CryptoServiceProvider.ComputeHash(bytes);
                int capacity = (int)Math.Round((double)(array.Length * 3) + (double)array.Length / 8);
                StringBuilder stringBuilder = new StringBuilder(capacity);
                int num = array.Length - 1;
                for (int i = 0; i <= num; i++)
                {
                    stringBuilder.Append(BitConverter.ToString(array, i, 1));
                }
                result = stringBuilder.ToString().TrimEnd(new char[]
                {
            ' '
                });
            }
            catch (Exception)
            {
            }
            return result;
        }

Projemize eklediğimiz butona çift tıklayıp click eventine aşağıdaki kodları ekleyelim;
string sifrelikod = urunanahtari.Text + mailadresi.Text; // eklediğimiz 2 textboxa yandaki isimleri verin
            sifrelikod = Md5Sifrele(sifrelikod); // textboxlardaki değerleri Md5 ile şifreledik
            lisanskodu.Text = sifrelikod; // Lisans kodumuzu verecek 3. textboxa şifrelediğimiz değerli attık.  
            // 3. Text boxada lisanskodu ismini verdik bu arada değerleri girerken doğru textboxlara girmeliyiz.

Oluşturduğumuz örnek lisans kodu oluşturucu proje;
(Hazırda süslü vardı ondan çektim ss yi kodlama aynen yukarıdaki gibidir.)

Son olarak Managment komutlarında hata olursa referans olarak projenize Managmenti manuel eklemeniz gerekebilir. Bunun için Solution Explorer kısmından projenize sağ tıklayıp Add kısmından Reference yi seçiniz, Fremework seçiliyken yukarıdaki arama kısmına Managment yazınız ve çıkan System.Managmenti seçiniz. aşağıdaki görseldeki gibi olması gerekiyor.

C# Managment hatası görsel

Sormak istediğiniz soruları konu altından yorum olarak bana ulaştırabilirsiniz umarım faydalı olmuştur :)

C# Masaüstü Uygulama Geliştirme Görsel Eğitim Seti Full İndir

Merhabalar, yararlı bir görsel eğitim setini daha siz değerli takipçilerimiz için sitemizde yayımlıyoruz. Toplamda yaklaşık olarak 33 saatlik olan bu C# görsel eğitim setinde konu olarak C# dilini kullanarak nasıl Masaüstü uygulaması (Muhasebe üzerinegeliştire bileceğiniz anlatılıyor. Genel olarak set içeriğine bakıldığında orta seviye bir anlatım olduğunu söyleyebiliriz yani C# dilinde henüz başlangıç seviyesindeyseniz bu eğtim seti size karışık gelebilir. Aşağıdaki görseller bölümündeki resimde set içeriğindeki konu başlıklarını görebilirsiniz. Eğitim seti maksimum ayarlarda sıkıştırılmıştır, orjinal set boyutu yaklaşık olarak 3 GB'dır.