Package domein

Class DomeinController

java.lang.Object
domein.DomeinController

public class DomeinController extends Object
Domeincontroller
Author:
Bram Rampelberg, Neal Joos, Nour Taye, Maarten Adriaenssens
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    De huidige repository van de edelen
    De huidige repository van de ontwikkelingskaarten
    private Spel
    Het huidige spel met al zijn attributen
    De huidige repository van de spelers
  • Constructor Summary

    Constructors
    Constructor
    Description
    UC1 Constructor voor de domeincontroller.
  • Method Summary

    Modifier and Type
    Method
    Description
    dto.SpelerDTO
    UC3 Doorgeefmethode die de vanuit spel bepaalSpelerAanBeurt aanroept om de volgende speler te bepalen en dit doorgeeft aan de applicatie.
    void
    UC2 Nog te implementeren.
    int
    UC4 Methode die het aantal edelsteenfiches van de speler aan beurt doorgeeft aan de applicatie.
    int
    UC1 Geeft het aantal spelers in het spel
    List<dto.EdeleDTO>
    UC3 Doorgeefmethode die aan spel de beschikbare edelen vraagt en omvormt naar records van edelen en deze in een lijst teruggeeft.
    void
    UC4 Methode die het overschot aan edelsteenfiches die de speler wil terugleggen doorgeeft aan spel zodat spel deze naar het spelbord kan verplaatsen.
    dto.SpelDTO
    UC2 Methode die de informatie van de spelsituatie opvraagt aan spel
    private dto.SpelerDTO
    UC2 Een hulpmethode die een speler omzet naar een record van die speler en teruggeeft.
    List<dto.SpelerDTO>
    UC2 Geeft een lijst van alle spelers terug die in het spel zitten in de vorm van een record.
    dto.SpelerDTO
    UC1 Bepalen van de startspeler via klasse Spel.
    List<dto.SpelerDTO>
    UC2 Methode die vanuit spel bepaalWinnaar() aanroept en de winnaar(s) omvormt naar een lijst met de records van de winnaar(s) en dan doorgeeft aan de applicatie.
    int
    UC1 Getter maximale aantal spelers
    int
    UC1 Getter minimale aantal spelers
    boolean
    UC1 Doorgeefmethode om het einde van de registratie te bevestigen naar de applicatie vanuit klasse Spel
    boolean
    UC3 Doorgeefmethode om het einde van de ronde te checken.
    boolean
    UC2 Checkt of het einde van het spel bereikt is.
    void
    UC3 Methode die doorgeeft aan spel welke edele de speler heeft gekozen zodat spel deze naar de voorraad van de speler kan verplaatsen.
    void
    UC4 Methode die de gekozen edelsteenfiches aan spel doorgeeft zodat spel deze naar de voorraad van de speler kan verplaatsen.
    void
    kiesOntwikkelingskaart(int niveau, int plaats)
    UC4 Methode die controleert of de gekozen ontwikkelingskaart geldig is volgens spel.controleKeuzeOntwikkelingskaart() en indien goedgekeurd de benodigde edelsteenfiches doorgeeft aan spel zodat spel deze kan verplaatsen naar het spelbord.
    void
    UC1 Aanmaken van een nieuw spel met de stapels als parameter.
    void
    UC4 Methode om de beurt van de speler aan beurt over te slaan, bepaalt de volgende speler aan beurt.
    void
    UC1 Start het spel met de edelen voor het aantal spelers die geregistreerd staan.
    void
    voegSpelerToe(String gebruikersnaam, int geboortejaar)
    UC1 Toevoegen van een speler aan het spel nadat de invoer werd gecontroleerd in de databank

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • spel

      private Spel spel
      Het huidige spel met al zijn attributen
    • spelerRepo

      private SpelerRepository spelerRepo
      De huidige repository van de spelers
    • ontwikkelingskaartRepo

      private OntwikkelingskaartRepository ontwikkelingskaartRepo
      De huidige repository van de ontwikkelingskaarten
    • edeleRepo

      private EdeleRepository edeleRepo
      De huidige repository van de edelen
  • Constructor Details

    • DomeinController

      public DomeinController()
      UC1 Constructor voor de domeincontroller. Maakt volgende repository's: spelers, ontwikkelingskaarten, edelen. Houdt de gekozen taal bij.
  • Method Details

    • maakNieuwSpel

      public void maakNieuwSpel()
      UC1 Aanmaken van een nieuw spel met de stapels als parameter.
    • voegSpelerToe

      public void voegSpelerToe(String gebruikersnaam, int geboortejaar)
      UC1 Toevoegen van een speler aan het spel nadat de invoer werd gecontroleerd in de databank
      Parameters:
      gebruikersnaam - Een attribuut van de speler
      geboortejaar - Een attribuut van de speler
      See Also:
    • startSpel

      public void startSpel()
      UC1 Start het spel met de edelen voor het aantal spelers die geregistreerd staan.
      Throws:
      IllegalArgumentException - Als het huidige aantal spelers kleiner is dan het minimum vereiste aantal spelers.
      See Also:
    • geefInfoStartSpeler

      public dto.SpelerDTO geefInfoStartSpeler()
      UC1 Bepalen van de startspeler via klasse Spel. Geeft een record terug met gebruikersnaam en geboortejaar.
      Returns:
      SpelerDTO Een object van de klasse SpelerDTO met de informatie van de startspeler.
      See Also:
    • isEindeRegistratie

      public boolean isEindeRegistratie()
      UC1 Doorgeefmethode om het einde van de registratie te bevestigen naar de applicatie vanuit klasse Spel
      Returns:
      boolean De status van de registratie
      See Also:
    • geefAantalSpelers

      public int geefAantalSpelers()
      UC1 Geeft het aantal spelers in het spel
      Returns:
      int Het aantal spelers.
    • getMIN_AANTAL_SPELERS

      public int getMIN_AANTAL_SPELERS()
      UC1 Getter minimale aantal spelers
      Returns:
      int Het minimum aantal spelers.
    • getMAX_AANTAL_SPELERS

      public int getMAX_AANTAL_SPELERS()
      UC1 Getter maximale aantal spelers
      Returns:
      int Het maximum aantal spelers.
    • eindeSpel

      public void eindeSpel()
      UC2 Nog te implementeren.
    • isEindeSpel

      public boolean isEindeSpel()
      UC2 Checkt of het einde van het spel bereikt is. Het spel eindigt als op het einde van een ronde 1 of meerdere spelers een totaal van 15 of meer prestigepunten hebben behaald
      Returns:
      boolean Statis van het spel. Geeft true indien de eindcondities zijn bereikt. De eindecondities zijn terug te vinden in Spel.isEindeSpel()
    • geefWinnaar

      public List<dto.SpelerDTO> geefWinnaar()
      UC2 Methode die vanuit spel bepaalWinnaar() aanroept en de winnaar(s) omvormt naar een lijst met de records van de winnaar(s) en dan doorgeeft aan de applicatie.
      Returns:
      spelersDTO Een List met SpelerDTO's met de informatie van de winnaar(s).
      See Also:
    • geefInfoSpelers

      public List<dto.SpelerDTO> geefInfoSpelers()
      UC2 Geeft een lijst van alle spelers terug die in het spel zitten in de vorm van een record.
      Returns:
      spelers Een List met SpelerDTO's met de records van alle spelers.
      See Also:
    • geefInfoSpeler

      private dto.SpelerDTO geefInfoSpeler(Speler s)
      UC2 Een hulpmethode die een speler omzet naar een record van die speler en teruggeeft.
      Parameters:
      s - een speler
      Returns:
      SpelerDTO Een record SpelerDTO met de informatie van de meegegeven speler.
    • geefInfoSpel

      public dto.SpelDTO geefInfoSpel()
      UC2 Methode die de informatie van de spelsituatie opvraagt aan spel
      Returns:
      SpelDTO Record SpelDTO met de informatie van de huidige spelsituatie.
      See Also:
    • isEindeRonde

      public boolean isEindeRonde()
      UC3 Doorgeefmethode om het einde van de ronde te checken. Roept vanuit spel isEindeRonde() op en geeft de waarde door aan de applicatie.
      Returns:
      boolean De Status van de ronde.
      See Also:
    • bepaalSpelerAanBeurt

      public dto.SpelerDTO bepaalSpelerAanBeurt()
      UC3 Doorgeefmethode die de vanuit spel bepaalSpelerAanBeurt aanroept om de volgende speler te bepalen en dit doorgeeft aan de applicatie.
      Returns:
      SpelerDTO Een object van klasse SpelerDTO met alle informatie van de speler aan beurt.
      See Also:
    • geefBeschikbareEdelen

      public List<dto.EdeleDTO> geefBeschikbareEdelen()
      UC3 Doorgeefmethode die aan spel de beschikbare edelen vraagt en omvormt naar records van edelen en deze in een lijst teruggeeft.
      Returns:
      List met EdeleDTO's met records van de beschikbare edelen.
      See Also:
    • kiesBeschikbareEdele

      public void kiesBeschikbareEdele(int keuze)
      UC3 Methode die doorgeeft aan spel welke edele de speler heeft gekozen zodat spel deze naar de voorraad van de speler kan verplaatsen.
      Parameters:
      keuze - De plaats van de gekozen edele
      See Also:
    • kiesEdelsteenfiches

      public void kiesEdelsteenfiches(List<String> kleuren)
      UC4 Methode die de gekozen edelsteenfiches aan spel doorgeeft zodat spel deze naar de voorraad van de speler kan verplaatsen.
      Parameters:
      kleuren - Een lijst met kleuren van de gekozen edelsteenfiches als String
      See Also:
    • geefEdelsteenfichesTerug

      public void geefEdelsteenfichesTerug(List<String> kleuren)
      UC4 Methode die het overschot aan edelsteenfiches die de speler wil terugleggen doorgeeft aan spel zodat spel deze naar het spelbord kan verplaatsen.
      Parameters:
      kleuren - Een lijst met kleuren van de gekozen edelsteenfiches in overschot als String
      See Also:
    • geefAantalEdelsteenfichesSpelerAanBeurt

      public int geefAantalEdelsteenfichesSpelerAanBeurt()
      UC4 Methode die het aantal edelsteenfiches van de speler aan beurt doorgeeft aan de applicatie.
      Returns:
      int Het aantal edelsteenfiches van speler aan beurt.
      See Also:
    • kiesOntwikkelingskaart

      public void kiesOntwikkelingskaart(int niveau, int plaats)
      UC4 Methode die controleert of de gekozen ontwikkelingskaart geldig is volgens spel.controleKeuzeOntwikkelingskaart() en indien goedgekeurd de benodigde edelsteenfiches doorgeeft aan spel zodat spel deze kan verplaatsen naar het spelbord. Daarna zegt de methode aan spel om de ontwikkelingskaart te verplaatsen naar de voorraad van de speler en de vrijgekomen plaats op te vullen met een nieuwe ontwikkelingskaart.
      Parameters:
      niveau - (niveau van de gekozen ontwikkelingskaart)
      plaats - (plaats van de gekozen ontwikkelingskaart in de rij van het opgegeven niveau)
      Throws:
      IllegalArgumentException - Als de gekozen ontwikkelingskaart een false geeft op de controle van de keuze via methode Spel.controleKeuzeOntwikkelingskaart(Ontwikkelingskaart)
      See Also:
    • slaBeurtOver

      public void slaBeurtOver()
      UC4 Methode om de beurt van de speler aan beurt over te slaan, bepaalt de volgende speler aan beurt.
      See Also: