Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Excerpt

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
Bunntekst for oppgaver
Bunntekst for oppgaver

...