Unity Eğitim Amaçlı Dört İşlem Oyunu (Çevrimiçi)
Unity, C#, Sql (2017)
Not: Uygulama, ücretsiz sunucu hesabı üzerinde çalıştığı için sunucu bazen çevrimdışı olabilir.
Proje iki kısımdan oluşmaktadır:
Sunucu tarafı: Sisteme oyunu kullanacak olan kullanıcıların kayıt edilmesinin kontrolünü, düzenlenmesini içerir. Bu işlemleri sistem yöneticisi takip eder. Sistem yöneticisi, sistemin sunucu tarafının kontrolünü, bakımını sağlar. Sisteme kullanıcıların kayıt edilmesi işlemlerini kontrol eder. Kullanıcıların kayıt işlemlerinde ve diğer işlemlerde yaşayabilecekleri sorunlarda, kullanıcıların sorunlarını çözer.
Mobil tarafı: Oyunun kullanıcılar tarafından oynanabildiği kısımdır. Oyun yazılımı üzerinden kayıt olarak oyuna erişim sağlayabilir ve soruları çözebilirler.
1.1. Sunucu Tarafı
Projenin, kullanıcıların oyun yazılımı üzerinden sisteme kayıt olmasıyla, kullanıcıların kayıt bilgilerinin, çözdüğü soru sayılarının, bu sorulara verdiği doğru cevap sayılarının ve doğru cevaplarının sonucunda kazandığı toplam puanının veri tabanı aracılığıyla tutulduğu ve çeşitli istatistik bilgilerinin oyun yazılımı aracılığıyla gösterilmesi için oyun yazılımı ile veri tabanı arasındaki iletişimin ve işlemlerin yapıldığı kısmıdır. Projenin sunucu tarafında veri tabanı ve veri tabanı ile oyun yazılımı arasındaki iletişim ve işlemlerin yapılabilmesi için sistem tarafından kullanılan PHP dosyaları bulunur.
Projenin sunucu tarafında, veri tabanı ile oyun yazılımı arasında yapılan işlemler:
1.1.1.Kullanıcı Kaydı
Kullanıcının, oyun yazılımını kullanabilmesi için öncelikle sisteme kayıt olması gerekir. Kullanıcının sisteme kayıt olabilmesi için kullanıcı adı, şifre, ismi, soy ismi ve mailini doğru bir şekilde yazarak gerçekleştirilir. Ayrıca bu bilgilerini hatalı girmemesi için kontroller yapılarak hata durumuna göre kullanıcının hatasını düzeltmesi için geri bildirim yapılır.
1.1.2.Kullanıcı Girişi
Kullanıcı, oyun yazılımı aracılığıyla kullanıcı adını ve şifresini doğru bir şekilde girerek sisteme erişimi sağlar.
1.1.3.Kullanıcı Düzenleme
Kullanıcı, oyun yazılımı aracılığıyla eğer başkası tarafından kullanılmıyorsa kullanıcı adını ve mailini değiştirebilir. Bunun yanında şifresini, ismini ve soy ismini de değiştirebilir.
1.1.4.Kullanıcı İstatistiği
Kullanıcının, oyun yazılımı aracılığıyla çözdüğü toplam soru sayısı, toplam doğru cevapladığı soru sayısı, toplam soru sayısı ve toplam doğru cevabın oranlandığı başarı oranı ve toplam puana göre tüm kullanıcılar arasındaki sıralamasının gösterilmesidir.
1.1.5.Sıralama
Tüm kullanıcılar arasında en yüksek puana sahip ilk beş kullanıcının isim, soy isim ve puan bilgilerinin elde edilmesidir.
1.1.6.Kullanıcı Puan Ekleme
Kullanıcı, oyun yazılımında çözeceği on soru sonunda kazanacağı puanın veri tabanında tutulan toplam puanına eklenmesidir.
1.2. Mobil Tarafı
Projenin, kullanıcıların oyun yazılımı aracılığı ile kayıt olduktan sonra kullanıcı adı ve şifresini girerek toplama, çıkarma, çarpma ve bölme yeteneklerini üç farklı modda geliştirebileceği, oyunu oynayabilecekleri kısmıdır.
Kullanıcı oyun yazılımını mobil cihaza yükledikten ve yazılımı çalıştırdıktan sonra, kullanıcının giriş yapabilmesi için giriş ekranı karşılar.
Şekil 1. Kullanıcı Giriş Sahnesi
Projenin mobil tarafında, kullanıcının oyun yazılımı üzerinde yapabildiği işlemler:
1.2.1.Kullanıcı Kaydı Sahnesi
Kullanıcının oyunu erişebilmesi için eğer önceden kayıtlı olmamışsa, sistemde benzersiz kullanıcı adı, şifre, isim, soy isim, sistemde benzersiz mailini girerek kayıt olması.
Şekil 2. Kullanıcı Kayıt Sahnesi
1.2.2.Kullanıcı Şifre Yenileme Sahnesi
Sisteme kayıtlı olan kullanıcıların şifrelerini hatırlamamaları durumunda sisteme kayıt oldukları kullanıcı adı ve mailini doğru bir şekilde girerek şifresini yenileyebilir. Böylece kullanıcı adı ve yeni şifresiyle oyuna giriş yapabilir.
Şekil 3. Kullanıcı Şifre Yenileme Sahnesi
1.2.3.Kullanıcı Girişi Sahnesi
Sisteme kayıtlı olan kullanıcının kullanıcı adı ve şifresini doğru bir şekilde girerek oyun yazılımının ana ekranına ulaşabilir.
Şekil 4. Kullanıcı Giriş Sahnesi
1.2.4.Oyun Ana Sahnesi
Kullanıcı, doğru bir şekilde giriş yaptıktan sonra oyunun ana sahnesi gelir. Burada giriş yapan kullanıcının ismi, soy ismi ve toplam puanı, oyunu oynayan toplam puanı en yüksek ilk beş kullanıcının ismi, soy ismi ve puanlarının listesi, oyunu oynayacak kişinin toplama, çıkarma, çarpma, bölme ya da dördünü birden çözebileceği on soruluk oyuna girebilmesi için beş adet buton ve ayar butonu vardır.
Şekil 5. Oyun Ana Sahnesi
1.2.5.Oyun Ana Sahnesi 2
Kullanıcı bir önceki ana sahneden toplama, çıkarma, çarpma, bölme ya da dördünü birden çözebileceği işlemi seçtikten sonra karşısına seçmesi gereken üç mod butonları ve bir önceki ana sahneye dönebileceği geri butonu listelenir. Bu üç mod butonu test, doğru yanlış ve hangisi modlarıdır.
Şekil 6. Oyun Ana Sahnesi 2
1.2.6.Oyun Sahnesi
Kullanıcı, oyunu oynamak istediği matematiksel dört temel işlemden birini ve modu seçtikten sonra oyun başlar. Oyunun akışı seçilebilecek üç moda göre değişir.
Test Modu: Test modunda, kullanıcıdan rastgele üretilen toplama, çıkarma ve bölme işlemlerinde en fazla üç basamaklı, çarpma işleminde en fazla iki basamaklı iki sayının kullanıcının önceden seçtiği işleme göre işlemi yapılarak doğru sonucun ne olduğunu verilen dört seçenekten bulması istenir.
Şekil 7. Test Modu
Doğru Yanlış Modu: Doğru yanlış modunda, kullanıcıdan rastgele üretilen toplama, çıkarma ve bölme işlemlerinde en fazla üç basamaklı, çarpma işleminde en fazla iki basamaklı iki sayının kullanıcının önceden seçtiği işleme göre işlemi yapılır ve yine rastgele bir şekilde doğru ya da rastgele üretilmiş bir sayı yanlış cevap olarak gösterilir. Kullanıcıdan bu işlemin doğru ya da yanlış yapılıp yapılmadığını, doğru ya da yanlış yazan iki seçenekten birini işaretleyerek kullanıcının bilmesi istenir.
Şekil 8. Doğru Yanlış Modu
Hangisi Modu: Hangisi modunda, kullanıcıdan rastgele üretilen toplama, çıkarma ve bölme işlemlerinde en fazla üç basamaklı, çarpma işleminde en fazla iki basamaklı iki sayının kullanıcının önceden seçtiği işleme göre işlemi yapılarak bu iki sayıdan doğru cevabı verecek olanın hangisi olduğunu verilen dört seçenekten bulması istenir.
Şekil 9. Hangisi Modu
Eğer kullanıcı doğru cevabı bilirse, kullanıcının bildiği doğru sayısı bir arttırılır. Kullanıcı seçeneklerden birini işaretledikten sonra kullanıcının doğru ya da yanlış olanı işaretlemesine göre oyun yazılımı tarafından kullanıcıya sesli ve görsel geri bildirim gönderilir. Bu şekilde on soruyu kullanıcının çözmesi istenir. On sorunun sonunda, kullanıcının doğru cevap sayısı, yanlış cevap sayısı ve kazandığı puan kullanıcıya gösterilir. Kullanıcının oyun sonunda kazanacağı puan:
Floor (doğru cevap sayısı / 3) formülüne göre hesaplanır.
Şekil 10. Oyun Sonu Görüntüsü
1.2.7.Kullanıcı İstatistiği Sahnesi
Kullanıcı, oyun ana sahnesinde ayar simgesine tıklayarak kendi istatistiklerini görüntüleyebileceği sahne açılır. Burada kullanıcının ismi, soy ismi, o ana kadar çözdüğü toplam soru sayısı, doğru cevapladığı toplam soru sayısı, başarısı ve tüm kullanıcılar içinde toplam puanına göre sıralaması görüntülenir. Ayrıca profilini düzenleyebilmesi için buton ve çıkış yapabileceği buton bulunur. Kullanıcının başarısı:
Floor (toplam doğru sayısı * 100 / toplam çözdüğü soru sayısı) formülü ile bulunur.
Şekil 11. Kullanıcı İstatistiği Sahnesi
1.2.8.Kullanıcı Profil Düzenleme Sahnesi
Kullanıcı istatistiğini görüntüleyebildiği sahnedeki Profil Düzenle butonuna tıklayarak sistemde benzersiz olmak koşuluyla kullanıcı adını, şifresini, ismini, soy ismini, sistemde benzersiz olmak koşuluyla mailini güncelleyebilir.
Şekil 12. Kullanıcı Profil Düzenleme Sahnesi
1.2.9.Kullanıcı Çıkışı
Kullanıcı istatistik sahnesinde Çıkış Yap butonuna tıklayarak hesabından çıkış yapabilir ve böylece kullanıcı girişi sahnesine geri dönebilir.
1.3. Oyun Yazılımı Genel Akış Şeması
Projenin genel olarak akış şeması:
Şekil 13. Proje Akış Şeması
1.4. Veri Tabanı Yapısı
Projenin veri tabanı yapısı, sisteme kayıtlı olan kullanıcıların bilgilerinin saklandığı kullanicilar tablosu, kullanıcıların giriş yaptığı zaman kötü niyetli kişilerce oturum çalma işlemini engellemek amaçlı session bilgilerinin saklandığı sessions tablosu olmak üzere iki tablodan oluşmaktadır.
Proje veri tabanının er diyagramı:
Şekil 14. Proje ER Diyagramı
Şekil 15. Veri Tabanı Şeması