SahurJAM Web, Ramazan temalı tarayıcı oyununun web sürümüdür. Aktif ürün kök dizindeki HTML5 canvas oyunudur; main/ klasörü ise oyuna eşlik eden, şu anda üretim akışına bağlı olmayan ayrı bir sunum/prototip arayüzü içerir.
- Aktif giriş noktası:
index.html - Oyun başlangıcı:
src/main.js - Çalıştırma şekli: Node ile statik dosya servisi (
server.js) - Kalıcı veri:
localStorage - Ayrı prototip alanı:
main/ - GitHub otomasyonu:
.github/workflows/check.yml
Gereksinimler:
- Node.js 18+
- Modern bir masaüstü tarayıcı
Kurulum ve çalıştırma:
npm install
npm startArdından http://127.0.0.1:3000 adresini açın.
Alternatif komutlar:
npm run serve: geliştirme sırasında yerel sunucuyu açarnpm run check: repo doğrulaması ve JavaScript sözdizimi kontrolünü çalıştırırnpm run build:pages: GitHub Pages için dağıtım klasörü üretir
Oyuncu mutfakta dolaşarak raftan yemeği alır, fırında ısıtır ve doğru masaya servis eder. Tur ilerledikçe yeni yemekler açılır, sipariş yoğunluğu değişir ve teslimat hedefleri büyür.
Temel kurallar:
- Her tur süre sınırına sahiptir.
- Döngü iki fazdan oluşur:
iftarvesahur. - Siparişler masa bazlı üretilir; yanlış masa veya yanlış yemek teslim edilemez.
- Yemekler servis öncesi fırında ısıtılmalıdır.
- Kaçan siparişler puan kaybettirir ve komboyu bozar.
- Tur sonunda hedef teslimat sayısı karşılanmazsa seviye başarısız olur.
WASD/ yön tuşları: hareketE/Space: etkileşimEnter: oyunu başlat, tutorial ekranını geç, tur sonu ekranlarında ilerleEscape: duraklat / devam etTab: yan paneli aç / kapatR: mevcut turu yeniden başlatT: manuel müzik tetikleme
Oyunda aşağıdaki sistemler aktif olarak çalışır:
- Seviye bazlı tarif açılımı
iftarvesahurfazlarına göre değişen sipariş temposu- Hurma ekonomisi ve kalıcı yükseltmeler
- En yüksek skor ve en iyi kombo kaydı
- Ses, animasyon ve yardım metni ayarları
- Tutorial overlay ve localStorage tabanlı ilerleme
Yükseltme kategorileri:
swiftFeet: hareket hızını artırırquickPrep: hazırlama/ısıtma süresini kısaltırpatientGuests: sipariş sürelerini uzatırblessing: skor ve hurma kazancını artırır
.
├── assets/ # Karakter, çevre ve istasyon görselleri
├── audio/ # Oyun içi ses efektleri ve müzik
├── docs/ # Proje için güncel teknik dokümanlar
├── main/ # Bağımsız UI/prototip ekranları
├── src/
│ ├── config/ # Oyun dengeleme ve sabitler
│ ├── layouts/ # Mutfak yerleşimi
│ └── *.js # Oyun döngüsü, render, ses, sipariş ve oyuncu mantığı
├── index.html # Aktif canvas oyununun HTML kabuğu
├── server.js # Yerel statik dosya sunucusu
└── style.css # Aktif oyunun arayüz stilleri
- Sunucu yalnızca mevcut dosyaları servis eder; bundler kullanılmaz.
server.jsvarsayılan olarak127.0.0.1:3000üzerinde çalışır.- Port değiştirmek için
PORTortam değişkeni kullanılabilir. - Kalıcı oyun verileri
ramadan-looper-progressanahtarıylalocalStorageiçine yazılır.
Daha ayrıntılı teknik bilgi için:
Manuel doğrulama için kısa akış:
- Oyunu açın ve başlangıç ekranından turu başlatın.
- Dolaptan bir yemek alın, doğrudan servise götürün ve ısıtma zorunluluğu uyarısını doğrulayın.
- Aynı yemeği fırında bekletip doğru masaya servis edin.
Tabile paneli açıp yükseltme, ayar ve durum alanlarını kontrol edin.- Sayfayı yenileyip hurma, skor ve ayarların korunup korunmadığını kontrol edin.
Escape,RveTkısayollarının beklenen davranışı verdiğini doğrulayın.
Bu proje MIT License ile lisanslandı.