I denne oppgaven skal Sokoban implementeres med en metode for stifinning i rutenettet.
Dersom spilleren ISokoban-grensesnittet har derfor blitt utvidet med følgende metode:
- String movePlayerTo(int x, int y) - flytter spilleren til cellen (x,y) ved hjelp av en sekvens med bevegelser, og returnerer en streng som representerer stegene i sekvensen. Flyttene representeres med l, r, u, og d for i indikere retning. Disse skal skrives med stor bokstav dersom flyttet også var et dytt: L, R, U, og D.
For hvert spill har vi laget en "nedlastningspakke" som gjør det lett å importere de nødvendige filene med Digital Compendium-tillegget. Disse finner du under. Når emfs-pakken er importert så må du
- implementere det nødvendige grensesnittet og
- legge navnet på din spill-klasse inn i fxml-fila for app-en (se instruksjoner i fila).
Så kan du starte app-en ved å høyreklikke på java-fila med samme navn som fxml-fila (<spillnavn>FX.java) og velge Run As->Java Application.
Nedlastingspakke
emfs /games/ #java #package $repo="@github.com:hallvard/javafx/games/src/games/" FxmlApp.java @ git@github.com:hallvard/javafx/games/src/games/FxmlApp.java; FxmlBuilderFactory.java @ git@github.com:hallvard/javafx/games/src/games/FxmlBuilderFactory.java; FxmlGame.java @ git@github.com:hallvard/javafx/games/src/games/FxmlGame.java; IPersistable.java @ git@github.com:hallvard/javafx/games/src/games/IPersistable.java; IUndoable.java @ git@github.com:hallvard/javafx/games/src/games/IUndoable.java; IUpdateable.java @ git@github.com:hallvard/javafx/games/src/games/IUpdateable.java; PersistableController.java @ git@github.com:hallvard/javafx/games/src/games/PersistableController.java; UndoableController.java @ git@github.com:hallvard/javafx/games/src/games/UndoableController.java; Persistable.fxml @ git@github.com:hallvard/javafx/games/src/games/Persistable.fxml; Undoable.fxml @ git@github.com:hallvard/javafx/games/src/games/Undoable.fxml; imagegrid/ #java #package ImageGrid.java @ git@github.com:hallvard/javafx/games/src/games/imagegrid/ImageGrid.java; ImageGridGame.java @ git@github.com:hallvard/javafx/games/src/games/imagegrid/ImageGridGame.java; ; sokoban/ #java #package sokoban3/ #java #package ISokoban.java @ git@github.com:hallvard/javafx/games/src/games/sokoban/sokoban3/ISokoban.java; SokobanFX.java @ git@github.com:hallvard/javafx/games/src/games/sokoban/sokoban3/SokobanFX.java; SokobanFX.fxml @ git@github.com:hallvard/javafx/games/src/games/sokoban/sokoban3/SokobanFX.fxml; ; box_on_target16x16.png @ git@github.com:hallvard/javafx/games/src/games/sokoban/box_on_target16x16.png; box16x16.png @ git@github.com:hallvard/javafx/games/src/games/sokoban/box16x16.png; empty16x16.png @ git@github.com:hallvard/javafx/games/src/games/sokoban/empty16x16.png; player_on_target16x16.png @ git@github.com:hallvard/javafx/games/src/games/sokoban/player_on_target16x16.png; player16x16.png @ git@github.com:hallvard/javafx/games/src/games/sokoban/player16x16.png; target16x16.png @ git@github.com:hallvard/javafx/games/src/games/sokoban/target16x16.png; wall16x16.png @ git@github.com:hallvard/javafx/games/src/games/sokoban/wall16x16.png;