13. Grafikus változat - AdjustmentBeaver/szoftlab GitHub Wiki

Grafikus változat

Változtatások

A grafikus rendszer architektúrája

Architektúra diagram

A felület működési elve

A programot három packagebe osztottuk el, a model, view és controller packagekbe. A program indítása során létrehozzuk a modelt (Game), ami létrehozza a View-t, ami pedig létrehozza a Controller-t, és hozzácsatolja a modelt. A modelben történik a szimuláció, és a felhasználói események feldolgozása, valamint a fájlokkal kapcsolatos műveletek. A controller értesíti a modelt az eseményekről. A model minden egyes szimulációs lépésben értesíti a view-t az állapot változásáról. A view ezután kirajzolja a játék állapotát a canvasra. A kód átláthatóságának növelése érdekében a csomópontok és sínek, valamint a vonatok kirajzolásáért felelős metódusokat két külön osztályba szedtük, ezek a NodeView és TrainView osztályok.

A felület osztály-struktúrája

GUI Class Diagram

Fordítási és futtatási útmutató

Fájllista

Fájl neve Méret (byte) Keletkezés ideje Tartalom
compile.bat 248 2017-03-25 00:37 Fordításhoz szükséges kötegelt állomány
filelist.sh 119 2017-05-08 11:18 Jelen lista generálásahoz szükséges script
levels/level.dtd 710 2017-04-16 16:48 XML DTD
levels/level_1.xml 3112 2017-05-07 20:07 A játék 1. pályája
levels/level_2.xml 5097 2017-05-07 20:07 A játék 2. pályája
levels/level_3.xml 8048 2017-05-07 20:07 A játék 3. pályája
magic.bat 138 2017-03-25 00:37 A fordításhoz és futtatáshoz szükséges kötegelt állomány
README.md 482 2017-03-18 20:44 README file
run.bat 121 2017-03-25 00:37 A futtatáshoz szükséges kötegelt állomány
sound/applause.mp3 220800 2017-05-07 20:07 Nyerés esetén lejátszott hang
sound/explosion.mp3 164048 2017-05-07 20:07 Vesztés esetén lejátszott hang
sound/horn.mp3 92995 2017-05-07 20:07 A vonat indulásának hangja
sprites/cart.png 20551 2017-05-07 20:07 Kocsi textúra
sprites/cart_blue.png 20315 2017-05-07 20:07 Kocsi textúra
sprites/cart_green.png 20153 2017-05-07 20:07 Kocsi textúra
sprites/cart_orange.png 20223 2017-05-07 20:07 Kocsi textúra
sprites/cart_red.png 19925 2017-05-07 20:07 Kocsi textúra
sprites/coal_wagon.png 20434 2017-05-07 20:07 Szeneskocsi textúra
sprites/engine.png 20042 2017-05-07 20:07 Mozdony textúra
sprites/loader_blue.png 17356 2017-05-07 20:07 Betöltő állomás textúra
sprites/loader_green.png 17369 2017-05-07 20:07 Betöltő állomás textúra
sprites/loader_orange.png 17381 2017-05-07 20:07 Betöltő állomás textúra
sprites/loader_red.png 17371 2017-05-07 20:07 Betöltő állomás textúra
sprites/node.png 18173 2017-05-07 20:07 Csomópont textúra
sprites/station_blue.png 17253 2017-05-07 20:07 Állomás textúra
sprites/station_green.png 17266 2017-05-07 20:07 Állomás textúra
sprites/station_orange.png 17268 2017-05-07 20:07 Állomás textúra
sprites/station_red.png 17262 2017-05-07 20:07 Állomás textúra
sprites/tunnel_built.png 18278 2017-05-07 20:07 Alagútszáj textúra
sprites/tunnel_closed.png 18535 2017-05-07 20:07 Alagútszáj textúra
src/application.css 918 2017-05-07 20:07 Az alkamazás felületének stíluslapja
src/controller/Controller.java 3717 2017-05-07 20:07 Controller osztály
src/model/game.fxml 2184 2017-05-07 20:07 A felhasználói felület leírója
src/model/Game.java 5340 2017-05-07 20:07 Game osztály
src/model/LoaderStation.java 1542 2017-05-07 20:07 LoaderStation osztály
src/model/Map.java 4888 2017-05-07 20:07 Map osztály
src/model/MapBuilder.java 15700 2017-05-07 20:07 MapBuilder osztály
src/model/MapManager.java 3381 2017-05-07 20:07 MapManager osztály
src/model/Node.java 4392 2017-05-07 20:07 Node osztály
src/model/Notifiable.java 411 2017-05-07 20:07 Notifiable interfész
src/model/SimulationTimer.java 2929 2017-05-07 20:07 SimualtionTimer osztály
src/model/SpecialPlace.java 5103 2017-05-07 20:07 SpecialPlace osztály
src/model/Station.java 1597 2017-05-07 20:07 Station osztály
src/model/Switch.java 2740 2017-05-07 20:07 Switch osztály
src/model/Train.java 5966 2017-05-07 20:07 Train osztály
src/model/TrainCart.java 1592 2017-05-07 20:07 TrainCart osztály
src/model/TrainCoalWagon.java 767 2017-05-07 20:07 TrainCoalWagon osztály
src/model/TrainEngine.java 1295 2017-05-07 20:07 TrainEngine osztály
src/model/TrainPart.java 4908 2017-05-07 20:07 TrainPart osztály
src/model/TrainScheduler.java 1892 2017-05-07 20:07 TrainSchedueler osztály
src/model/util/BoundingBox.java 4420 2017-05-07 20:07 BoundingBox osztály
src/model/util/Color.java 620 2017-05-07 20:07 Color osztály
src/model/util/Coordinate.java 2162 2017-05-07 20:07 Coordinate osztály
src/model/util/IDrawable.java 147 2017-05-07 20:07 IDrawable interfész
src/model/util/ NullAttributeException.java 660 2017-05-07 20:07 NullAttributeException osztály
src/model/util/Speed.java 300 2017-05-07 20:07 Speed osztály
src/view/NodeView.java 4419 2017-05-07 20:07 NodeView osztály - Nodeok megjelenítése
src/view/TrainView.java 3812 2017-05-07 20:07 TrainView osztály - TrainPartok megjelenítése
src/view/View.java 1742 2017-05-07 20:07 View osztály - A játék megjelenítése

Generálható: ./filelist.sh

Fordítás

A fordítás következő parancs kiadásával lehetséges (a feladat mappájában kell kiadni): compile

Futtatás

A futtatáshoz az alábbi parancsot kell kiadni a feladat mappájában: run

ProTip: A program fordításához, majd futtatásához elegendő csupán a magic parancsot használni.

A parancsok kiadásához szükséges előzetesen a %JAVA_HOME% környezeti változót a JDK fő könyvtárára beállítani.

Értékelés

Tag neve Munka százalékban
Dobai Botond 14,5%
Dömötör Szilárd 27%
Földvári András 17%
Kövér Márton 16,5%
Telek István 25%

Napló

Kezdet Időtartam Résztvevők Leírás
2017-05-05 18:00 4 óra Dömötör, Telek Implementáció elkezdése
2017-05-05 22:00 5 óra Dömötör, Telek, Dobai, Kövér Kirajzolás implementáció
2017-05-06 14 óra 6 óra Dömötör, Telek Implementáció, hibák javítása
2017-05-06 20:00 6 óra Dömötör, Telek, Dobai, Kövér, Földvári Pályák elkészítése, végső simítások
2017-05-08 13:00 1 óra Telek, Dobai, Kövér Dokumentáció