Collection für Minesweeper

N

Nyk

Gast
Hallo, ich muss Minesweeper mit vorgegebenen Klassen und Methoden und teilweise auch Variablen programmieren, bin aber noch nicht so gewandt in der Programmierung, daher hoffe ich das ihr mir weiterhelfen könnt.

Zudem bin ich neu in diesem Forum und hoffe das der Beitrag hier korrekt ist. :D


Eclipse gibt mir keine Fehler aus, aber ich muss den Algorithmus testen, und da gibt er mir an, dass der Collections nicht finden kann
"cannot find symbol"


Dies ist die Aufgabenstellung dazu:

Diese Klasse modelliert einen Container für das Verwalten der Resultate eines Klicks auf ein Feld. Zu besseren Übersicht wird dafür zunächst innerhalb der Klasse die öffentliche Enumeration RevealFieldState mit folgenden Werten erstellt:

  • FIELD_NOT_REVEALED
  • FIELDS_REVEALED
  • FOUND_MINE
Die Klasse selbst stellt folgende Konstruktoren und Methoden zur Verfügung:

  • public RevealFieldsResult()
    Erstellt eine neue RevealFieldsResult-Instanz, die das Ergebnis eines erfolglosen Klicks darstellt.
  • public RevealFieldsResult(Collection<Field> fields)
    Erstellt eine neue RevealFieldsResult-Instanz mit einer Menge aufgedeckter Felder.
  • public Collection<Field> getRevealedFields()
    Gibt die im Konstruktor übergebenen Felder zurück. Achten Sie darauf, dass die zurückgegebene Collection unveränderbar (immutable) sein muss!
  • public RevealFieldState getState()
    Gibt den encodierten Status des Ergebnisses zurück. Folgende Fälle treten dabei ein:
    • Die übergebene Sammlung ist leer -> FIELD_NOT_REVEALED
    • Die übergebene Sammlung enthält eine Mine -> FOUND_MINE
    • Sonst -> FIELDS_REVEALED


und dies mein Algorithmus:
Java:
package de.uniwue.jpp.minesweeper.model;

import java.util.Collection;
import java.util.Collections;

public class RevealFieldsResult {

   public enum RevealFieldState { //Aufzaehlung der Moeglichkeiten per enum

     FIELD_NOT_REVEALED {
       public String toString() {
         return "Die uebergebene Sammlung ist leer";
       }
     },

     FIELDS_REVEALED {
       public String toString() {
         return "Sonst";
       }
     },

     FOUND_MINE {
       public String toString() {
         return "Die uebergeben Sammlung enthaelt eine Mine";
       }
     };

     /*
      *  jeweilige Formataenderung ueber toString
      */
   }

   private Collection<Field> fields;

   public RevealFieldsResult() { //erfolgloser KLick
     // keine Aktion
   }

   public RevealFieldsResult(Collection<Field> fields) {
     fields = this.fields;
     fields.addAll(fields);
   }

   public Collection<Field> getRevealedFields() { //gibtuebergebene Felder zurueck
     fields = Collections.unmodifiableCollection(fields);
     return fields;
   }

   public RevealFieldState getState() { //gibt Meldungen encodiert zurueck
     return null;
   }
}
meine Teampartner und ich kommen mit den Collections (Collection<Field> fields) nicht ganz zurecht, vor allem da wir gezwungen sind es so zu nennen. Vielleicht kann uns hier jemand helfen. Wir würden uns da total freuen und sind auf Hilfe echt angewiesen. :D
 
Zuletzt bearbeitet von einem Moderator:

Maggot

Bekanntes Mitglied
Hallo.

1.) Bitte setze den Code in CODE Tags.

2.) Ihr habt noch einige Fehler bei euch im Code. Auch von der Logik her. Was meinst du genau mit "a gibt er mir an, dass der Collections nicht finden kann "cannot find symbol""? Habe den Code von euch in ein Projekt bei mir getan und da findet Java alles.

Lg
 

Neue Themen


Oben