Word Crush

Word Crush

Kullanılan Teknolojiler

Proje Kazanımları

Bu projede, yerçekimi motoruna ve dinamik harf grid yapısına sahip eğlenceli bir mobil kelime bulmaca oyunu Flutter ile geliştirilmiştir.

  • Flutter Mobil Geliştirme: Çapraz platform (cross-platform) mobil oyun mekanikleri ve durum yönetimi uygulandı.
  • Trie ve DFS Entegrasyonu: Hızlı kelime doğrulama için Trie yapısı ve tahta araması için DFS algoritması optimize edildi.
  • Yerçekimi Motoru: Patlayan kelimelerin yerine harflerin Türkçe frekansa göre yukarıdan düşmesi sağlandı.
  • Oyun İçi Ekonomi: Oyuncuların altın kazanabildiği ve joker satın alabildiği dinamik market altyapısı kuruldu.
README.md Dosyasını Görüntüle

Word Crush - Yazılım Laboratuvarı

image_V4

Açıklama

Word Crush, Flutter kullanılarak geliştirilmiş, yerçekimi (gravity) motoruna, özel güçlere (power-ups), oyun içi ekonomiye ve modern bir cam efekti (glassmorphism) arayüzüne sahip dinamik bir mobil kelime bulmaca oyunudur. Geleneksel kelime oyunlarından farklı olarak, bu oyunda patlayan harflerin yerine üstten yeni harfler düşer ve oyun tahtası sürekli değişir.

🚀 Proje Özellikleri

  • Dinamik Yerçekimi Motoru: Seçilen geçerli kelimeler patlar, üstlerindeki harfler aşağı doğru düşer ve boşluklar Türkçe dil frekansına uygun rastgele harflerle doldurulur.
  • Özel Güçler (Uzun Kelime Ödülleri):
    • 4 Harfli Kelimeler: Satır temizleyici patlama.
    • 5 Harfli Kelimeler: Alan bombası (çevresindeki 9 hücreyi patlatır).
    • 6 Harfli Kelimeler: Sütun temizleyici patlama.
    • 7+ Harfli Kelimeler: Dev mega bomba patlaması.
  • Oyun İçi Ekonomi & Joker Sistemi: Oyuncular oynadıkça altın kazanır. Market üzerinden "Balık", "Lolipop", "Tekerlek", "Değiştir", "Karıştır" ve "Parti" gibi stratejik jokerler satın alınabilir.
  • Glassmorphism UI: Neon ışıklandırmalı, yarı saydam ve akıcı 60 FPS animasyonlara sahip modern tasarım.
  • Gelişmiş Algoritmalar: Kelime arama için Derinlik Öncelikli Arama (DFS) ve hızlı doğrulama için Trie tabanlı önek analiz algoritması kullanılmıştır.
  • Çoklu Profil & Skor Takibi: Oyuncular kendi isimleriyle hesap açabilir ve performans detaylarını (istatistiksel bar grafikleri ile birlikte) Skor Tablosu'ndan takip edebilir.

🎮 Uygulamayı Çalıştırma ve Kurulum

Projeyi çalıştırabilmek için iki farklı yöntem bulunmaktadır:

1. Doğrudan Kurulum (Hızlı Yöntem)

Geliştirme ortamı kurmanıza gerek kalmadan oyunu doğrudan Android cihazınızda test edebilirsiniz:

Repo ana dizininde bulunan app-release.apk dosyasını indirin.

Dosyayı Android telefonunuza aktarın ve kurulumu gerçekleştirin.

Not: Play Store dışı bir kaynak olduğu için yükleme sırasında telefonunuzdan "Bilinmeyen Kaynaklar" iznini vermeniz gerekebilir.

2. Kaynak Koddan Derleme (Geliştiriciler İçin)

Projeyi bilgisayarınızda derleyip çalıştırabilmek için aşağıdaki yazılımların kurulu olması gerekmektedir:

  1. Flutter SDK: (Sürüm 3.0 veya üzeri önerilir)
  2. Dart SDK: (Flutter ile birlikte gelir)
  3. Geliştirme Ortamı (IDE):
    • Android Studio (Android emülatörü için gereklidir) veya
    • Visual Studio Code (Flutter ve Dart eklentileri yüklenmiş olarak)
  4. Çalıştırma Ortamı:
    • Bilgisayarınıza bağlı fiziksel bir Android/iOS cihaz veya
    • Kurulmuş bir Android Emulator / iOS Simulator.

⚙️ Nasıl Çalıştırılır?

  1. Proje dosyalarını (lib, android, pubspec.yaml, words.txt vb.) bir klasöre çıkartın.
  2. Terminal (Komut İstemi) açın ve projenin ana dizinine gidin:
    cd konum/word_crush
    
  3. Projedeki gerekli kütüphaneleri (dependencies) indirmek için şu komutu çalıştırın:
    flutter pub get
    
  4. Projenin sözlük dosyası olan words.txt dosyasının projenin ana dizininde (pubspec.yaml ile aynı yerde) olduğundan emin olun.
  5. Emülatörünüz açıkken veya telefonunuz bilgisayara bağlıyken uygulamayı başlatmak için:
    flutter run
    

📂 Proje Dizin Yapısı (Kaynak Kodları)

Projenin tüm ana mantığı lib/ klasörü içerisindedir:

  • lib/main.dart $\rightarrow$ Uygulamanın başlatıldığı ana dosya.
  • lib/engine/ $\rightarrow$ Oyunun beyni. Yerçekimi, kelime arama (DFS), joker ve özel güç motorları buradadır.
  • lib/models/ $\rightarrow$ Veri yapıları (Hücreler, oyun durumu, geçmiş kayıtları).
  • lib/screens/ $\rightarrow$ Kullanıcı arayüzleri (Ana Menü, Oyun Ekranı, Market, Skor Tablosu).
  • lib/services/ $\rightarrow$ Yerel depolama (SharedPreferences) ve Türkçe sözlük yükleme işlemleri.
  • lib/widgets/ $\rightarrow$ Tekrar kullanılabilir arayüz parçaları (Butonlar, oyun tahtası vb.).
  • rapor/ $\rightarrow$ Projenin detaylı IEEE formatındaki LaTeX dökümantasyonu.

👥 Geliştiriciler

  • Yunus Emre Ayıker - Kocaeli Üniversitesi
  • Enes Ülkü - Kocaeli Üniversitesi