Skip to content

I-voR/Sokobanbanban

Repository files navigation

Sokobanbanban

license GitHub last commit GitHub release (latest by date)

Projekt "Sokoban" na Motorola Science Cup 2020
Dokumentacja Użytkownika

Dokumentacja Techniczna jest w pliku TECH-DOC-PL.md.
English version of the User Documentation is in the README-EN.md file. [Work in Progress]

1. Najnowsza stabilna wersja

3.2.5

2. Spis Treści

3. Zakon Technomantów

  • Wielki Mistrz (Kapitan Drużyny): Iwo Strzeboński
  • I pozostali Bracia (Członkowie):
    • Igor Kaliciński
    • Jan Krzemień
    • Zbyszko Sobecki
    • Wojciech Orłowski

4. Autorzy

  • Iwo Strzeboński:
    • Projektowanie wyglądu interfejsu graficznego
    • Różne tryby
    • Poziomy trudności map
    • Dokumentacja
  • Igor Kaliciński:
    • Edytor poziomów
    • Hala Sław
    • Zapisy gier
    • Testy jednostkowe

5. Licencja

WTFPL by Sam Hocevar

6. Podziękowania

  • Laura Wheeler - twórczyni gry Sokoban Junior 1, skąd pochodzą mapy

7. Przygotowywanie środowiska do pracy

  1. Zainstaluj Node.js
  2. Pobierz wymagane pakiety za pomocą polecenia:
npm install

8. Praca na kodzie źródłowym

Aby uruchomić program, należy w konsoli wpisać polecenie:

npm start

9. Budowanie Projektu

Do zbudowania projektu należy użyć pakietu ElectronForge, który także jest pobierany jako wymagany pakiet.

npx @electron-forge/cli import
npm run package

Zbudowanie Projektu NIE jest wymagane do uruchomienia go!

10. Testy automatyczne

W celu wykonania automatycznych testów jednostkowych, należy wydać polecenie:

npm run test

11. Rozgrywka

a. Poruszanie się w grze

Pierwsza mapa trybu o rosnącym poziomie trudności

  • Magazynier (Gracz):
    Large Player Left Large Player Front Large Player Back Large Player Right

    Magazynier może się poruszać po polach Podłoga Podłoga oraz Powietrze Powietrze.
    Nie potrafi jednak przechodzić przez pole Ściany Ściana.
    Niestety Skrzynie Skrzynia są zbyt ciężkie, żeby mógł je unieść, więc musi je pchać po Podłodze.
    Może je przesuwać wtedy i tylko wtedy, gdy za nią jest pole Podłoga lub pole Płytka Płytka, o ile bezpośrednio za tą Skrzynią nie ma innej Skrzyni.

  • Przyciski:

    • Save zapisuje rozgrywkę (dostępny wyłącznie w II Module).
    • Surrender poddaje rozgrywkę i zapisuje wynik do Hali Sław (dostępny wyłącznie w II Module).
    • Back cofa do poprzedniej strony.
    • Undo Last Move cofa ostatni ruch.
    • Restart ustawia gracza i skrzynie na pozycjach pierwotnych.
  • Obsługa klawiatury:

    • W lub Strzałka do góry porusza gracza do góry.
    • A lub Strzałka w lewo porusza gracza w lewo.
    • S lub Strzałka w dół porusza gracza w dół.
    • D lub Strzałka w prawo porusza gracza w prawo.
    • R ustawia gracza i skrzynie na pozycjach pierwotnych.

b. Moduł III - Tworzenie map

Kreator Map

  • Przyciski:

    • Back cofa do poprzedniej strony.

    • Load pozwala na wybranie uprzednio utworzonej mapy i jej edycję.
      Wczytana utworzona mapa

    • Save zapisuje utworzoną mapę.
      Jeśli w polu wyboru Load jest wybrana nowa mapa (NEW), to zostanie utworzona nowa mapa; w innym wypadku mapa o wybranej nazwie zostanie nadpisana.

    • Reset odświeża stronę, usuwając wszystkie narysowane pola.

    • Przycisk oznaczony symbolem kosza na śmieci usuwa wybraną mapę.

  • Elementy mapy:

    • Skrzynia:
      Duża Skrzynia
      Interaktywny obiekt, który może być przesuwany przez Magazyniera Player Front.

    • Podłoga:
      Duża Podłoga
      Statyczny element mapy, po którym może chodzić Magazynier Player Front oraz po którym mogą być przesuwane Skrzynie Skrzynia.

    • Powietrze:
      Duże Powietrze
      Tło mapy.

    • Płytka:
      Duża Płytka
      Interaktywny obiekt mapy, na który Magazynier Player Front ma przesunąć Skrzynię Skrzynia.

    • Ściana:
      Duża Ściana
      Statyczny element mapy blokujący ruch Magazyniera Player Front oraz przesuwanie Skrzyń Skrzynia.

    • Płytka ze Skrzynią:
      Duża Płytka ze Skrzynią
      Jest to obiekt łączący Skrzynię Skrzynia z Płytką Płytka. Gra traktuje to jako Skrzynię na Płytce, co oznacza, że Skrzynię z takiej Płytki można przesunąć.

c. Menu Główne

Menu Główne

  • Przycisk oznaczony pojedynczą poziomą kreską służy do minimalizowania programu.

  • Przycisk oznaczony symbolem krzyżyka służy do zamykania programu.

  • Przycisk Play służy do uruchamiania Modułu I - map podzielonych na poziomy trudności.

  • Przycisk Load/Start new game służy do uruchamiania Modułu II - map o rosnącym poziomie trudności.

  • Przycisk Custom game służy do uruchamiania Modułu III - mapy stworzonej w Edytorze Map.

  • Przycisk Create level służy do uruchamiania Modułu III - edytora map.

  • Przycisk Hall of Fame służy do uruchamiania Modułu II - sprawdzania listy wyników trybu o rosnącym poziomie trudności.

  • Przycisk Credits przenosi do strony z informacjami o Autorach oraz podziękowaniach.

  • Przycisk Quit zamyka grę.

d. Moduł I - Poziomy Trudności

Menu poziomów trudności

  • Przycisk oznaczony symbolem domu służy do powrotu na Stronę Główną.

  • Przycisk Back cofa do poprzedniej strony.

  • Przycisk Easy uruchamia losową Łatwą mapę.

Wylosowana łatwa mapa

  • Przycisk Medium uruchamia losową Średnio Trudną mapę.

Wylosowana średnio trudna mapa

  • Przycisk Hard uruchamia losową Trudną mapę.

Wylosowana trudna mapa

e. Moduł II - Rosnący Poziom Trudności

Miejsca zapisu

  • Przyciski opisane kolejno Save 1, Save 2 i Save 3 to kolejne zapisy gry. Gracz ma do dyspozycji wyłącznie trzy miejsca na zapisy.

    Naciśnięcie dowolnego przycisku zapisu uruchamia grę na mapie, która jest w danym zapisie. Jeśli nie ma pliku zapisu, to jest on tworzony i jest do niego wczytywana pierwsza mapa Trybu.

Pierwsza mapa trybu o rosnącym poziomie trudności

f. Moduł III - Gra na własnym poziomie

Menu autorskich map

Przyciski w kolorze fioletowym pozwalająna uruchomienie gry na wybranej, utworzonej przez siebie, mapie.

Wybrana autorska mapa

g. Moduł II - Hala Sław

Hala Sław

h. Podziękowania

Podziękowania