| Ana Giriş Ekranı | Oda Oluşturma | Oyun Alanı |
|---|---|---|
![]() |
![]() |
![]() |
"Moodun Hangisi?", popüler meme kültürünü eğlenceli bir yarışmaya dönüştüren gerçek zamanlı bir web oyunudur. Arkadaşlarınızla veya yapay zekaya karşı yarışın, en uygun "mood"u (meme resmini) seçin ve puanları toplayın!
- 2 Kişilik Oyun Modu:
- 🤖 Bilgisayara Karşı: Gelişmiş AI oyuncu ile tek kişilik pratik.
- 👥 Arkadaşımla Oyna: Oda sistemi üzerinden gerçek zamanlı çok oyunculu deneyim.
- Zengin İçerik: 46 adet yüksek kaliteli meme kartı ve 50 adet özenle hazırlanmış soru kartı.
- Dinamik Kurallar:
- ⏱️ İsteğe bağlı 10 saniyelik geri sayım sayacı.
- ⭐ Puanlı veya puansız oyun seçeneği.
- Teknik Güç: WebSocket ile anlık senkronizasyon ve akıcı UI geçişleri.
- Backend: Go (Gin Framework, Gorilla WebSocket)
- Frontend: HTML5, CSS3, Vanilla JavaScript (Modern ES6+)
- Mobil: Flutter (Geliştirme aşamasında)
- Altyapı: Event-driven WebSocket mimarisi
- Go 1.21 veya üzeri sürüm.
- Modern bir web tarayıcısı.
Projeyi macOS uyumluluk ayarlarıyla birlikte tek komutla başlatmak için kök dizinde şu komutu çalıştırmanız yeterlidir:
make runTarayıcınızda açın: http://localhost:3000
- Oda Hazırlığı: Oyun modunu seçin, oda adını girin ve arkadaşlarınızı davet edin.
- Başlangıç: Her oyuncuya 7 adet rastgele meme kartı dağıtılır.
- Tur Başlangıcı: Ortaya bir soru kartı düşer.
- Hamle Yap: Soruya en çok uyan meme kartını seç ve masaya sür.
- Oylama/Puanlama: Rakibinizin kartını görün, 1-5 arası puan verin veya kazananı belirleyin.
- Final: Kartlar bittiğinde en yüksek skora ulaşan "Mood Ustası" ilan edilir!
moodgame/
├── assets/memes/ # 46 adet JPG formatında meme kartı
├── backend/ # Go backend uygulaması
│ ├── controllers/ # API (Oda ve Oyun) handler'ları
│ ├── websocket/ # Hub ve Client yönetim mantığı
│ ├── models/ # Veri yapıları (Room, Game, Player)
│ └── routers/ # Route tanımlamaları
├── web/ # Sadece HTML/CSS/JS içeren frontend
└── mobile/ # Flutter mobil uygulama projesi
📋 Teknik API Detayları (Geliştiriciler İçin)
POST /api/v1/rooms- Yeni oda oluşturGET /api/v1/rooms/:roomId- Oda bilgilerini getirPOST /api/v1/rooms/:roomId/join- Odaya katılPOST /api/v1/rooms/:roomId/add-ai- AI oyuncu ekle
GET /api/v1/rooms/:roomId/game- Oyun durumuPOST /api/v1/rooms/:roomId/game/submit- Kart gönderPOST /api/v1/rooms/:roomId/game/rate- Puanlama yap
- Global Oda Listesi: Aktif odaları görüp katılma özelliği.
- Sohbet Sistemi: Oyun içi anlık mesajlaşma.
- Redis Desteği: Çoklu sunucu ve oturum yönetimi.
- Meme Atölyesi: Kendi meme'lerinizi oluşturma aracı.
Katkılarınızı bekliyoruz! Her türlü soru için bir issue açabilir veya Pull Request göndererek projeyi daha iyi bir hale getirebilirsiniz.
İletişim: Profil üzerinden veya Issue açarak ulaşabilirsiniz.


