Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

La spillet ditt implementere det allerede definerte grensesnittet ConsoleGame. ConsoleGame-grensesnittet definerer metoder for å initialisere, starte og styre spill. ConsoleGame-interfacet ser slik ut:

Code Block
public interface ConsoleGame {
	public void init();
	public void run();
	public Integer doLine(String input);
}
  • init()-metoden fjerner all informasjon om et evt. spill som er igang og gjør det klar til å starte et nytt. Denne må kalles før run()-metoden.
  • run()-metoden starter et nytt spill, i den forstand at det er klar til å ta imot kommandoer fra brukeren.
  • Integer doLine(String)-metoden utfører en kommandolinje, som om den ble skrevet inn av brukeren. Returnverdien angir om spillet er ferdig og hva resultatet ble. Dersom returverdien er null, så er spillet fortsatt igang, dersom verdien er positiv så vant spilleren (evt. spiller 1), dersom verdien er negativ så tapte spilleren (evt. spiller 1) og dersom den er 0 så er resultatet udefinert evt. uavgjort. I løpet av kallet til doLine, så skal informasjon om (den nye) tilstanden til spillet skrives til System.out.

...

  • > filnavn: lagrer tilstanden til spillet i filen ved navn filnavn
  • < filnavn: leser inn og (re)starter spillet lagret i filen ved navn filnavn
  • ... andre kommandoer for å styre spillet, f.eks. w for opp, s for ned, a for venstre, d for høyre eller koordinatpar x,y for å legge brikke i rutenett osv.

Det blir gitt ut en klasse (som ikke er klar ennå) som "driver" et spill som implementerer ConsoleGame-grensesnittet, som du kan bruke til å teste om implementasjonen din fungerer etter hensikten. Dersom denne klassen heter GameDriver og din spill-klasse heter MittSpill, så skal følgende main-metode kunne brukes for å kjøre ditt spill ved hjelp av GameDriver-klassen:

Code Block
public static void main(String[] args) {
	ConsoleGame consoleGame = new DittSpill(); // evt. en annen konstruktør
	GameDriver gameDriver = new GameDriver(consoleGame);
	gameDriver.run();
} 

...