OŚWIĘCIM — adaptacja programu OSWIECIM.prg ======================================= URUCHOMIENIE Kliknij C:\c64\uruchom-oswiecim.cmd albo otwórz index.html. Zachowaj c64-modern.css w katalogu nadrzędnym względem folderu oswiecim. Program działa offline, bez emulatora, bibliotek, instalacji i serwera. Język interfejsu: polski, z prawidłowymi znakami Unicode. POCHODZENIE Oryginał: Zbigniew Dziurgot, 1994. Program odczytano z dostarczonego PRG. Gra stawia gracza w roli komendanta nazistowskiego obozu. Używa pracy przymusowej i masowych mordów jako mechanizmów ekonomicznych. Adaptacja przedstawia treść dawnego programu; nie jest źródłem wiedzy historycznej. Nie odtworzono grafiki ani mundurów i symboli nazistowskich. OBSŁUGA 1. Zakup obiektów lub przyjęcie więźniów przez formularze. 2. Następny miesiąc: wybór racji 10 g / 25 g / 50 g / 1 kg. 3. Rozliczenie pracy oraz decyzja dotycząca proponowanego transportu. 4. Raport pokazuje wszystkie składniki zmiany salda i liczbę ofiar. 5. Dalej: zmiana daty i ewentualna próba ucieczki. Próba ucieczki: klikaj abstrakcyjny znacznik albo naciśnij przycisk Strzał/spację, gdy znacznik mija środek pola. Można pominąć próbę. Program nie zawiera scen przemocy. Limit amunicji: 10. ZAPIS Zapisz/Wczytaj korzysta z localStorage. To jeden ręczny zapis, osobny od Agricoli. Zapis jest związany z przeglądarką, profilem i lokalizacją. Obsługiwany jest również zapis w połowie miesiąca i podczas ucieczki. REGUŁY PRZENIESIONE Z BASIC-A Start: kwiecień 1940, 10000 DM, 1 barak, 1 krematorium, 1 komora gazowa, 100 więźniów. Koniec: styczeń 1945 (57 rozliczeń). Koszty: 1000 / 20000 / 35000 DM za odpowiednie obiekty, 5 DM za osobę. Limity: 300 baraków, 50 krematoriów, 30 komór, 100 osób na barak. Racja wykorzystuje we wzorze indeks 3, 4, 5 albo 6 — tak jak oryginał. Straty: floor(liczba osób / indeks² × los). Utrzymanie: liczba pozostałych osób × indeks × 15. Praca: floor(liczba pozostałych osób × indeks × 40 × los). Transport: zaokrąglone(los × 100 + (komory − 1) × 100). Wpływ: floor(transport × (los × 100 + 50)). Kara: floor((los × 30 + 20) × max(0, ofiary − 100 × krematoria)). Zachowano możliwość ujemnego salda i brak ekonomicznego warunku porażki. RÓŻNICE To adaptacja mechaniki w JavaScript, nie port 1:1 ani emulator C64. Losowość: Math.random zamiast RND. Nowa grafika i formularze zastępują PETSCII i joystick. Próba ucieczki ma nowy ruch znacznika i sposób trafień; nie odwzorowuje kolizji sprite'ów. Dodatkowe 10000 DM przyznawane jest tylko za trafienie wszystkich znaczników; oryginał mógł przyznawać je także po opuszczeniu ekranu przez uciekających. Dodano pominięcie próby, kontekst archiwalny, raporty i walidację liczby kupowanych obiektów. PLIKI engine.js — mechanika; app.js — interfejs; index.html — widok. ../source-c64/oswiecim.bas.txt — odczyt BASIC-a, kody PETSCII jako {liczba}. ../inspect-c64.cjs — ekstraktor źródeł. Testy: node --test tests/modern-ports.test.cjs (z katalogu C:\c64). Sprawdzono w Chromium: przejście miesiąca, raport, zapis/wczytanie, brak przewijania poziomego przy 390 px oraz wygląd na pulpicie i telefonie.