Sayı Bloklarıyla Hedef Toplamı Yakalama Oyunu
React Native (Expo) ile geliştirilmiş, yukarıdan düşen sayı bloklarını birleştirerek hedef toplamı tutturmaya dayalı bulmaca oyunu.
Target Sum, 8 sütunlu bir oyun alanında yukarıdan düşen sayılı bloklarla oynanan bir bulmaca oyunudur. Oyuncu, birbirine komşu blokları seçerek değerlerinin toplamını ekrandaki hedef toplama (target sum) eşitlemeye çalışır. Doğru seçimler blokları temizleyip puan kazandırır; yanlış seçimler ise ceza olarak tüm sütunlara yeni bloklar düşürür.
Oyun, hem mobil (iOS / Android) hem de web üzerinde Expo ile çalışacak şekilde tasarlanmıştır.
- Yukarıdan sayılı bloklar düşer ve oyun alanında birikir.
- Toplamı hedef sayıya ulaşacak şekilde, birbirine komşu ve geçerli bir yol oluşturan en fazla 4 blok seçilir.
- Doğru seçim blokları temizler ve puan kazandırır.
- Yanlış seçimler birikince ceza tetiklenir ve tüm sütunlara yeni bloklar eklenir.
- Oyun sonunda skor, oyuncu adıyla birlikte lider tablosuna kaydedilir.
- Düşen blok mekaniği — Bloklar zamanla hızlanarak düşer ve zorluk artar.
- Komşuluk ve yol kontrolü — Yalnızca geçerli, bağlı blok dizileri seçilebilir.
- Puanlama ve ceza sistemi — Doğru eşleşmeler puan, yanlışlar ceza getirir.
- Lider tablosu — Skorlar
AsyncStorageile cihazda saklanır. - Çok platform — Android, iOS ve web (Expo + react-native-web).
- Dil: TypeScript
- Çatı: React Native + Expo
- Web desteği: react-native-web
- Kalıcı veri:
@react-native-async-storage/async-storage
targetSum/
├── App.tsx # Ekran yönlendirmesi (home / game / leaderboard)
├── index.ts # Giriş noktası
├── src/
│ ├── screens/ # HomeScreen, GameScreen, LeaderboardScreen
│ ├── components/ # OneBlock vb. arayüz bileşenleri
│ └── utils/ # gameLogic, storage
└── assets/ # Görseller ve statik dosyalar
- Node.js ve npm
- Expo CLI (veya
npx)
npm install
# Geliştirme sunucusunu başlat
npm start
# Doğrudan platform seçerek başlatmak için:
npm run android
npm run ios
npm run webMobilde çalıştırmak için telefonunuza Expo Go uygulamasını kurup terminalde çıkan QR kodu okutabilirsiniz.
- E-posta: numanarifdeniz@gmail.com
- GitHub: github.com/numanarif0
- LinkedIn: linkedin.com/in/numanarifdeniz