Excerpt |
---|
Oppgaven handler om å utvide et allerede eksisterende spill (en av TicTacToe, Sokoban, Sudoku, eller selvvalgt spill)fra øving 4 med nye funksjoner. |
I denne oppgaven vil vi gå ut ifra allerede implementerte spill. Vi vil bygge på tidligere implementerte rutenettbaserte spill og legge til nye kommandoer.
...
- finne en måte å representere brukerhandlinger, dvs. lage en klasse som kan lagre informasjon om handlinger
- implementere logikk for å reversere og gjenta handlingen som slike objekter representerer
- administrere angre- og gjenta-stack'er som forklart over (eller tilsvarende logikk)
Obs! For slagskip-spillet skal man ikke implementere angre og gjenta. Se egen artikkel for slagskip.
Del 2 (50%)
I denne delen skal du implementere lagring av spill og innlesing av tidligere lagrede spill, slik at en kan fortsette der en slapp, f.eks. med et vanskelig Sokoban-brett. Du må altså definere et egnet filformat, og støtte dette formatet både ved skriving til fil og lesing fra fil. Merk at det kun er nødvendig å lagre nå-tilstanden til spillet, en trenger ikke lagre tilstand knyttet til angring (undo). Det naturlige vil være å ha et tekstlig (i motsetning til binært) format, med én linje pr. rad i spillet og én eller flere tegn pr. rute i raden. Sokoban har forøvrig et definert standardformat (se http://sokobano.de/wiki/index.php?title=Level_format), som det kan være lurt å støtte for å forenkle bruk av eksisterende brett.
...
Før du går i gang med denne delen kan det være lurt å ta en titt på wikisiden for Lesing fra og skriving til fil.
JavaFX-apper for spillene (morsomt, men ikke obligatorisk)
Som for første trinn av spillene, som det er lenket til over, så har vi laget JavaFX-apper for spillene. I tillegg til grafisk visning av rutenettet, er det nå støtte for å
...
Sokoban
Code Block |
---|
emfs
/games/ #java #package
sokoban/ #java #package
sokoban2/ #java #package
ISokoban.java @ git@github.com:hallvard/javafx/games/src/games/sokoban/sokoban2/ISokoban.java;
SokobanFX.java @ git@github.com:hallvard/javafx/games/src/games/sokoban/sokoban2/SokobanFX.java;
SokobanFX.fxml @ git@github.com:hallvard/javafx/games/src/games/sokoban/sokoban2/SokobanFX.fxml;
;
sample.sok @ git@github.com:hallvard/javafx/games/src/games/sokoban/sample.sok;
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;
|
Sudoku
Code Block |
---|
emfs /games/ #java #package sudoku/ #java #package sudoku2/ #java #package ISudoku.java @ git@github.com:hallvard/javafx/games/src/games/sudoku/sudoku2/ISudoku.java; SudokuFX.java @ git@github.com:hallvard/javafx/games/src/games/sudoku/sudoku2/SudokuFX.java; SudokuFX.fxml @ git@github.com:hallvard/javafx/games/src/games/sudoku/sudoku2/SudokuFX.fxml; |
TicTacToe
Code Block |
---|
emfs /games/ #java #package tictactoe/ #java #package tictactoe2/ #java #package ITicTacToe.java @ git@github.com:hallvard/javafx/games/src/games/tictactoe/tictactoe2/ITicTacToe.java; TicTacToeFX.java @ git@github.com:hallvard/javafx/games/src/games/tictactoe/tictactoe2/TicTacToeFX.java; TicTacToeFX.fxml @ git@github.com:hallvard/javafx/games/src/games/tictactoe/tictactoe2/TicTacToeFX.fxml; |
Slagskip
Se egen artikkel.
Include Page | ||||
---|---|---|---|---|
|
...