13. Grafikus változat - AdjustmentBeaver/szoftlab GitHub Wiki
Grafikus változat
Változtatások
A grafikus rendszer architektúrája

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

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ó |