Skip to content

elifgider/moodgame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎭 Moodun Hangisi? - Online Party Game

📸 Ekran Görüntüleri

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!

Go Version License Status


🎮 Oyun Özellikleri

  • 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.

🛠️ Teknolojiler

  • 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

📦 Kurulum ve Çalıştırma

Gereksinimler

  • Go 1.21 veya üzeri sürüm.
  • Modern bir web tarayıcısı.

Başlatma Adımları

Projeyi macOS uyumluluk ayarlarıyla birlikte tek komutla başlatmak için kök dizinde şu komutu çalıştırmanız yeterlidir:

make run

Tarayıcınızda açın: http://localhost:3000


🎯 Oyun Akışı

  1. Oda Hazırlığı: Oyun modunu seçin, oda adını girin ve arkadaşlarınızı davet edin.
  2. Başlangıç: Her oyuncuya 7 adet rastgele meme kartı dağıtılır.
  3. Tur Başlangıcı: Ortaya bir soru kartı düşer.
  4. Hamle Yap: Soruya en çok uyan meme kartını seç ve masaya sür.
  5. Oylama/Puanlama: Rakibinizin kartını görün, 1-5 arası puan verin veya kazananı belirleyin.
  6. Final: Kartlar bittiğinde en yüksek skora ulaşan "Mood Ustası" ilan edilir!

📁 Proje Yapısı

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)

Oda İşlemleri

  • POST /api/v1/rooms - Yeni oda oluştur
  • GET /api/v1/rooms/:roomId - Oda bilgilerini getir
  • POST /api/v1/rooms/:roomId/join - Odaya katıl
  • POST /api/v1/rooms/:roomId/add-ai - AI oyuncu ekle

Oyun İşlemleri

  • GET /api/v1/rooms/:roomId/game - Oyun durumu
  • POST /api/v1/rooms/:roomId/game/submit - Kart gönder
  • POST /api/v1/rooms/:roomId/game/rate - Puanlama yap

🚀 Gelecek Planları

  • 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ı.

🤝 İletişim ve Katkıda Bulunma

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors