I denne oppgaven skal TicTacToe utvides med muligheten for å la datamaskinen spille. For å støtte dette har ITicTacToe-grensesnittet blitt utvidet med en metode - doAIMove().

  • void doAIMove() - utfører et trekk for spilleren som er i trekket. Merk at datamaskinen ikke trenger å gjøre et smart eller optimalt trekk, bare et lovlig. Det er opp til deg hvordan datamaskinen velger trekk. Den kan f.eks. gjøre et tilfeldig lovlig trekk.

Hvis du ønsker en ekstra utfordring kan du prøve å få datamaskinen til å spille "smart".

 

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

  1. implementere det nødvendige grensesnittet og
  2. 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;
		;
	tictactoe/ #java #package
		tictactoe3/ #java #package
			ITicTacToe.java	@ git@github.com:hallvard/javafx/games/src/games/tictactoe/tictactoe3/ITicTacToe.java;
			TicTacToeFX.java	@ git@github.com:hallvard/javafx/games/src/games/tictactoe/tictactoe3/TicTacToeFX.java;
			TicTacToeFX.fxml	@ git@github.com:hallvard/javafx/games/src/games/tictactoe/tictactoe3/TicTacToeFX.fxml;

  • No labels