I denne oppgaven skal Battleship utvides med muligheten for å la datamaskinen spille som den ene spilleren. For å støtte dette må du spillklassen implementere IEnemy-grensesnittet, som er definert under:
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
public interface IEnemy extends IBattleship { /** * Returns @arg:the Thecoordinates boardtargeted whichfor thefire enemyby firesthe atAI. */ public void init(IBattleship board); /** * Fires a shot at a coordinate chosen by@arg: The board which the enemy artificialfires intelligenceat. * @return An integer array of length 3. First element is either -1 (Null if no ship at coordinate), 1 (True if the ship was sunk), 2 (false if not).2: * The secondfirst element is the x coordinate. * The thirdsecond element is the y coordinate. */ public int[] firetarget(IBattleship board); } |
Tilfeldig
Lag en implementasjon av IEnemy som skyter helt tilfeldige ruter på brettet.
Hunt / Target
Det er ingen krav til å lage en smart AI, men om du ønsker det, så er det lov. Et tips til enkel implementasjon er å la datamaskinen skyte helt tilfeldige ruter.
Først, skyt tilfeldig (hunt mode) helt til et skip er blitt truffet. Når et skip er truffet går AI-en inn i target mode. Da skytes ruter som er ved sida av den ruta som nettopp ble truffet. Det er mulig å søke opp, ned, høyre og venstre for å leite etter meir av det samme skipet.
Se her for mer informasjon: http://www.datagenetics.com/blog/december32011/
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
...
Filtre for nedlasting kommer.