CoOp:Anything
게임을 검색해 협동 플레이 가능한 모드·단계·품질·커뮤니티 평점을 확인합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Altı sayı, dört işlem, tek hedef. Beş farklı rakam (1–9) ve bir iki basamaklı sayıyla (10–99) üç basamaklı hedefe (100–999) ulaşmaya çalıştığın matematik oyunu.
Modlar
Oyun bittiğinde en kısa çözüm gösterilir (tüm olasılıkları tarayan çözücü, Web Worker'da çalışır).
| Fark (en iyi olası sonuca göre) | Yakınlık puanı |
|---|---|
| Tam isabet | 100 |
| 1 | 80 |
| 2 | 70 |
| 3–5 | 60 |
| 6–10 | 45 |
| 11–20 | 30 |
| 21–50 | 15 |
| 51+ | 0 |
Hız bonusu (tek başına, günün sorusu): en yakın sonuca ilk 10 saniyede ulaşıldıysa yakınlık puanının %25'i eklenir (en fazla 125 puan); bonus 2. dakikanın sonunda doğrusal olarak sıfıra iner. Süre ayarından bağımsızdır: aynı hız her ayarda aynı bonusu getirir. Bonus yakınlık puanıyla orantılı olduğu için hızlı ama uzak bir sonuç, yavaş ama tam bir sonucu geçemez.
En iyi olası sonuç: soruların ~%99'unda hedef tam olarak bulunabilir; bulunamadığında fark, çözücünün bulduğu en iyi sonuca göre hesaplanır. En iyi sonuç her zaman sınırsız işlemle hesaplanır; işlem hakkı seçen oyuncu kendine zorluk koyar, kolay puan almaz.
Karşılıklı modlar: hız bonusu yerine tur sırası bonusu eklenir. Sıra önce farka, fark eşitse süreye göredir: 1. +25, 2. +15, 3. +10, diğerleri +5 (yakınlık puanı alanlar). Toplam puan eşitse daha çok tur kazanan öne geçer.
Anonim oyuncular: Google hesabı olmadan "Anonim kaydet" seçen oyuncunun ya da Hesap'tan anonim moda geçen Google kullanıcısının skorları privateScores koleksiyonunda tutulur. Kurallar gereği bu kayıtları yalnızca sahibi okuyabilir; anonim oyuncu sıralamada yalnızca kendini görür. Anonim moda geçince geçmiş skorlar da herkese açık sıralamadan taşınır. Anonim hesap Google'a bağlanınca kimliği ve skorları korunur.
Sıralama: varsayılan ölçüt, her oyuncunun dönemdeki en iyi 20 oyununun toplamı. Toplam, ortalama, rekor ve oyun sayısına göre de sıralanabilir. Ekim 2026'daki bu değişiklikten önce kaydedilen skorlar da sıralamada sayılmaya devam eder.
Gereksinim: Node.js 20.19+ (22 önerilir).
npm install
cp .env.example .env # Firebase bilgilerini gir
npm run dev # http://localhost:3000
| Komut | Açıklama |
|---|---|
npm run dev | Geliştirme sunucusu |
npm run build | Tip denetimi + üretim derlemesi (build/) |
npm run preview | Derlemeyi yerelde sun |
npm test | Birim testleri (Vitest): oyun motoru, puanlama, çözücü, oda mantığı |
npm run e2e | Uçtan uca testler (Playwright) |
npm run emulators | Firebase Auth + Firestore emülatörleri (firebase-tools gerekir) |
npm run store:assets | Mağaza ekran görüntüleri, öne çıkan görsel ve simgeler (store/) |
Firebase ayarları olmadan da oyun (tek başına, günün sorusu, aynı cihazda) tamamen çalışır; giriş, sıralama ve çevrimiçi odalar gizlenir.
Emülatörle çalışmak: npm i -g firebase-tools, ardından npm run emulators. .env içinde REACT_APP_USE_EMULATORS=true yapıp npm run dev. Çevrimiçi oda testini de kapsayan uçtan uca testler için: E2E_EMULATORS=1 npm run e2e.
Kod düzeni:
src/game/ Saf oyun mantığı: kurallar, tur motoru, puanlama, çözücü, günün sorusu
src/components/ Tur oynatıcı, sonuç ve maç tabloları, ortak arayüz parçaları
src/screens/ Sayfalar (tek başına, günün sorusu, sıralama, karşılıklı, çevrimiçi oda)
src/services/ Firebase (tembel yüklenir)
src/state/ Ayarlar, oturum, ses, yerel istatistikler
e2e/ Playwright testleri
Vercel ayarları vercel.json içinde (Vite, çıktı klasörü build/, tek sayfa yönlendirmesi). Ortam değişkenleri eski adlarıyla (REACT_APP_FIREBASE_*) kullanılmaya devam eder.
firestore.rules içeriğini yapıştırıp Publish, ya da firebase deploy --only firestore:rules.
gameRooms kuralı bu dosyada bilerek yok: yeni sürüm rooms koleksiyonunu kullanıyor. Kurallar yayınlanınca gameRooms erişime kapanır; içindeki eski kayıtlar silinmez.privateScores) ve oyuncu tercihleri (profiles) yalnızca sahibine açıktır; listelenemez, başkası okuyamaz.rooms, players ve results koleksiyon grupları için expiresAt alanını seç. Odalar 24 saat sonra silinir.Google Play (Trusted Web Activity) ve App Store (WKWebView kabuğu) için adım adım rehber: docs/magazalar.md. Site çevrimdışı da açılır (pwa/sw.js); gizlilik politikası /gizlilik adresinde, hesap silme Hesap ekranında.
Yeni puanlama sistemiyle kaydedilen skorlar v: 2 alanı taşır ve sıralamada yalnızca bunlar listelenir; eski kayıtlar silinmez. Yeni kayıtlarda e-posta adresi saklanmaz.
MIT