You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

I denne oppgaven skal Battleship utvides med muligheten for å la datamaskinen spille som den ene spilleren. For å støtte dette må spillklassen implementere IEnemy-grensesnittet, som er definert under:

 

IEnemy.java
public interface IEnemy extends IBattleship {

    /**
     * Returns the coordinates targeted for fire by the AI.
	 * @return An integer array of length 2:
     * The first element is the x coordinate.
     * The second element is the y coordinate.
     */
    public GridLocation target();

}

 

GridLocation er en klasse du skal lage, som har følgende egenskaper og metoder:

  • int x – x-koordinaten.
  • int y – y-koordinaten
  • int getX() – returnerer x-koordinaten.
  • int getY() – returnerer y-koordinaten.
  • List<GridLocation> getNeighbors(int boardSize) – returnerer de (maks.) fire nabo-koordinatene til dette GridLocation-objektet. Kun de som er innenfor brettet skal være med. Det kan derfor være færre enn fire elementer. Diagonaler tas ikke med.

Tilfeldig

Lag en implementasjon av IEnemy som skyter helt tilfeldige ruter på brettet. 

 

Hunt / Target

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 å lete etter mer 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

  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.

 

Filtre for nedlasting kommer.

 

  • No labels