From 5af37f4227f2d14a4066f9a367aa3250d9cd359f Mon Sep 17 00:00:00 2001
From: joonatan <joonatan.a.nikkila@student.jyu.fi>
Date: Wed, 13 Mar 2024 10:12:49 +0200
Subject: [PATCH] =?UTF-8?q?Kommentteja=20lis=C3=A4tty=20ja=20lis=C3=A4tty?=
 =?UTF-8?q?=20ominaisuus=20yhdist=C3=A4m=C3=A4=C3=A4n=20pelaaja=20ja=20ott?=
 =?UTF-8?q?elu?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/HT/fx/Karkelot.java                  |  7 +++-
 src/HT/fx/LisaaPelaajaGUIController.java | 20 ++++++---
 src/HT/fx/Ottelu.java                    | 52 +++++++++++++++++++++++-
 src/HT/fx/OtteluIkkunaGUIController.java | 27 +++++++++++-
 src/HT/fx/Ottelut.java                   | 29 ++++++++++---
 src/HT/fx/PadelMainGUIController.java    | 52 +++++++++++++++---------
 6 files changed, 152 insertions(+), 35 deletions(-)

diff --git a/src/HT/fx/Karkelot.java b/src/HT/fx/Karkelot.java
index 5b56128..bec1e80 100644
--- a/src/HT/fx/Karkelot.java
+++ b/src/HT/fx/Karkelot.java
@@ -64,7 +64,9 @@ public class Karkelot {
         return ottelut.annaOttelut(pelaaja.getTunnusNro());
     }
     
-    
+    public Ottelu noudaOttelu(int i) {
+        return ottelut.haeOttelu(i);
+    }
     
     
     /**
@@ -74,8 +76,9 @@ public class Karkelot {
      */
     public void lueTiedostosta(String nimi) throws SailoException {
         pelaajat.lueTiedostosta(nimi);
-        ottelut.lueTiedostosta(nimi);
+       //ottelut.lueTiedostosta(nimi);
     }
+ 
     
     /**
      * Tallentaa tiedot tiedostoon
diff --git a/src/HT/fx/LisaaPelaajaGUIController.java b/src/HT/fx/LisaaPelaajaGUIController.java
index f99cc76..83a467b 100644
--- a/src/HT/fx/LisaaPelaajaGUIController.java
+++ b/src/HT/fx/LisaaPelaajaGUIController.java
@@ -47,7 +47,18 @@ public class LisaaPelaajaGUIController implements ModalControllerInterface<Strin
 
         
     }
+
+    @FXML void handlePoista() {
+        Dialogs.showMessageDialog("Ei osata vielä");
+    }
     
+
+    //==========================================================
+    
+    
+    /**
+     * Käsittelee Ok:n painamisen. Luo uuden pelaajan ja lisää sen controllerin karkeloon
+     */
     public void kasitteleOk() {
         //String pvm = datesyntaika.getValue().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
         Pelaaja uusi = new Pelaaja(textnimi.getText(), datesyntaika.getValue() ,textsahkoposti.getText(),true);
@@ -55,11 +66,8 @@ public class LisaaPelaajaGUIController implements ModalControllerInterface<Strin
         PadelMainGUIController.LisaaPelaaja(uusi); // lisää pelaajan karkeloon
         
     }
-
-    @FXML void handlePoista() {
-        Dialogs.showMessageDialog("Ei osata vielä");
-    }
-
+    
+    
     @Override
     public String getResult() {
         // TODO Auto-generated method stub
@@ -77,5 +85,5 @@ public class LisaaPelaajaGUIController implements ModalControllerInterface<Strin
         // TODO Auto-generated method stub
         
     }
-
+    
 }
\ No newline at end of file
diff --git a/src/HT/fx/Ottelu.java b/src/HT/fx/Ottelu.java
index ec21fff..2464777 100644
--- a/src/HT/fx/Ottelu.java
+++ b/src/HT/fx/Ottelu.java
@@ -22,6 +22,17 @@ public class Ottelu {
     private String lopputulos;
     
     
+    /**
+     * Ottelun constructori
+     * @param paivamaara pvm 
+     * @param pelaajaNro1 pelaaja1
+     * @param pelaajaNro2 pelaaja1
+     * @param pelaajaNro3 pelaaja1
+     * @param pelaajaNro4 pelaaja1
+     * @param voittajaNro1 voittaja 1
+     * @param voittajaNro2 voittaja 2
+     * @param lopputulos tulos
+     */
     public Ottelu(LocalDate paivamaara, int pelaajaNro1, int pelaajaNro2, int pelaajaNro3, int pelaajaNro4, int voittajaNro1, int voittajaNro2, String lopputulos ) {
         this.paivamaara=paivamaara;
         this.pelaajaNro1 = pelaajaNro1;
@@ -35,6 +46,9 @@ public class Ottelu {
         
     }
     
+    /**
+     * Tyhjä contructori ottelulle
+     */
     public Ottelu() {
         //Ei vielä mitään.
     }
@@ -83,37 +97,57 @@ public class Ottelu {
         return idNro;
     }
     
+    
+    /**
+     * Palauttaa tietyn ottelun pelaajanumerot
+     * @return ottelun pelaajien numerot
+     */
+    public int[] getPelaajaNrot() {
+        int[] numerot = new int[] {pelaajaNro1,pelaajaNro2,pelaajaNro3,pelaajaNro4};
+        return numerot;
+    }
+    
+  
+    
     /**
      * Palautetaan ensimmäisen osallistujan numero
      * @return pelaajan id
      */
+    /*
     public int getPelaajaNro1() {
         return pelaajaNro1;
     }
+    */
     
     /**
      * Palautetaan toisen osallistujan numero
      * @return pelaajan id
      */
+    /*
     public int getPelaajaNro2() {
         return pelaajaNro2;
     }
+    */
     
     /**
      * Palautetaan kolmannen osallistujan numero
      * @return pelaajan id
      */
+    /*
     public int getPelaajaNro3() {
         return pelaajaNro3;
     }
+    */
     
     /**
      * Palautetaan neljännen osallistujan numero
      * @return pelaajan id
      */
+    /*
     public int getPelaajaNro4() {
         return pelaajaNro4;
     }
+    */
     
     /**
      * Palautetaan ensimmäisen voittajan numero
@@ -130,9 +164,25 @@ public class Ottelu {
     public int getVoittajaNro2() {
         return voittajaNro2;
     }
-
+    
+    /**
+     * @return ottelun lopputulos
+     */
+    public String getLopputulos(){
+        return lopputulos;
+    }
+    
+    /**
+     * @return ottelun päivämäärä
+     */
+    public LocalDate getDate() {
+        return paivamaara;
+    }
+    
+    
     public int getTunnusNro() {
        
         return idNro;
     }
+    
 }
\ No newline at end of file
diff --git a/src/HT/fx/OtteluIkkunaGUIController.java b/src/HT/fx/OtteluIkkunaGUIController.java
index 30a6883..34e1c54 100644
--- a/src/HT/fx/OtteluIkkunaGUIController.java
+++ b/src/HT/fx/OtteluIkkunaGUIController.java
@@ -5,16 +5,27 @@ import fi.jyu.mit.fxgui.ModalController;
 import fi.jyu.mit.fxgui.ModalControllerInterface;
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
+import javafx.scene.control.TextField;
 import javafx.scene.input.MouseEvent;
 import javafx.stage.Stage;
 
 public class OtteluIkkunaGUIController implements ModalControllerInterface<String> {
     
     
+    @FXML private TextField joukkue1;
+
+    @FXML private TextField joukkue2;
+
+    @FXML private TextField lopputulos;
+
+    @FXML private TextField paivamaara;
+
+    
     @FXML  void handleLisaaOttelu() {
         LisaaOttelu(null, "kanat");
+        SyotaTulos();
     }
-    
+    //=====================================
     
     public static String LisaaOttelu(Stage modalityStage, String oletus) {
         return ModalController.showModal(
@@ -22,7 +33,21 @@ public class OtteluIkkunaGUIController implements ModalControllerInterface<Strin
                 "Lisää ottelu", modalityStage, oletus);
     }
     
+    public void SyotaTulos() {
+        int i = 0;
+        Ottelu ottelu = PadelMainGUIController.getKarkelo().noudaOttelu(i);
+        int[] numerot = ottelu.getPelaajaNrot();
+        joukkue1.setText(haePelaaja(numerot[0]) + " " + haePelaaja(numerot[1]));
+        joukkue2.setText(haePelaaja(numerot[2]) + " " + haePelaaja(numerot[3]));
+        lopputulos.setText(ottelu.getLopputulos());
+        paivamaara.setText(ottelu.getDate().toString());
+        
+        
+    }
     
+    public String haePelaaja(int i) {
+        return PadelMainGUIController.getKarkelo().annaPelaaja(i).getNimi();
+    }
     
 
     @Override
diff --git a/src/HT/fx/Ottelut.java b/src/HT/fx/Ottelut.java
index 1296b97..0afa86a 100644
--- a/src/HT/fx/Ottelut.java
+++ b/src/HT/fx/Ottelut.java
@@ -26,7 +26,18 @@ public class Ottelut implements Iterable<Ottelu> {
         alkiot.add(ott);
     }
     
-    
+    /**
+     * Luo listan otteluista jotta saadaan palautettua yksi ottelu. 
+     * Ominaisuus saattaa jäädä turhaksi myöhemmin
+     * @param i monesko 
+     * @return ottelu
+     */
+    public Ottelu haeOttelu(int i) {
+        List<Ottelu> loydetyt = new ArrayList<Ottelu>();
+        for(Ottelu ott : alkiot)
+            loydetyt.add(ott);
+        return loydetyt.get(i);
+    }
     /**
      * Palauttaa otteluiden lukumäärän
      * @return otteluiden lukumäärä
@@ -48,17 +59,23 @@ public class Ottelut implements Iterable<Ottelu> {
      */
     public List<Ottelu> annaOttelut(int tunnusnro) {
         List<Ottelu> loydetyt = new ArrayList<Ottelu>();
-        for(Ottelu ott : alkiot)
-            if (ott.getTunnusNro() == tunnusnro) loydetyt.add(ott);
-        
+        for(Ottelu ott : alkiot) {
+            int i = 0;
+            
+            while(i<4){
+                if (ott.getPelaajaNrot()[i] == tunnusnro) loydetyt.add(ott);
+                i++;
+            }
+        }
         return loydetyt;
     }
-
+    
+/*
     public void lueTiedostosta(String tiedosto) {
         tiedostonNimi = tiedosto + "/nimet.dat";
         throw new SailoException("Ei osata vielä lukea tiedostoa " + tiedostonNimi);
         
     }
 
-   
+  */ 
 }
\ No newline at end of file
diff --git a/src/HT/fx/PadelMainGUIController.java b/src/HT/fx/PadelMainGUIController.java
index 0886a57..b301a96 100644
--- a/src/HT/fx/PadelMainGUIController.java
+++ b/src/HT/fx/PadelMainGUIController.java
@@ -28,24 +28,19 @@ public class PadelMainGUIController {
     
     @FXML private TextField testi;
     
-    @FXML
-    private CheckBox auto1;
+    @FXML private CheckBox auto1;
 
-    @FXML
-    private TextField ika1;
+    @FXML private TextField ika1;
 
-    @FXML
-    private TextField sapo1;
+    @FXML private TextField sapo1;
     
      @FXML void handleLisaamuokkaaottelu() {
-         LisaaTestiPelaajat();
-         // Kun koodissa tarvitsee tulostaa jokin viesti:
          handleLisaaOttelu(null, "kanat");
-        //avaaOtteluikkuna();
     }
 
     @FXML void handleLisaapelaaja() {
-        handleLisaaPelaaja(null, "kanat");
+        LisaaTestiPelaajat();
+        //handleLisaaPelaaja(null, "kanat");
         //LisaaPelaaja();
         Syotatiedot();
         
@@ -65,27 +60,38 @@ public class PadelMainGUIController {
      */
     private static Karkelot karkelo;
     
+    /**
+     * @param modalityStage -
+     * @param oletus -
+     * @return controller
+     */
     public static String handleLisaaPelaaja(Stage modalityStage, String oletus) {
         return ModalController.showModal(
                 LisaaPelaajaGUIController.class.getResource("LisaaPelaajaGUIView.fxml"),
                 "Lisää pelaaja", modalityStage, oletus);
     }
     
+    /**
+     * @param modalityStage -
+     * @param oletus -
+     * @return controller
+     */
     public static String handleLisaaOttelu(Stage modalityStage, String oletus) {
         return ModalController.showModal(
                 OtteluIkkunaGUIController.class.getResource("OtteluIkkunaGUIView.fxml"),
                 "Lisää pelaaja", modalityStage, oletus);
     }
     
+    /**
+     * Syöttää pelaajan tiedot tekstikenttään, tällä hetkellä vain yhteen
+     */
     private void Syotatiedot() {
        // Pelaaja pelaaja = karkelo.annaPelaaja(0);
         
         testi.setText(karkelo.annaPelaaja(0).getNimi());
         ika1.setText(String.valueOf(karkelo.annaPelaaja(0).getIka()));
         sapo1.setText(karkelo.annaPelaaja(0).getSahkoposti());
-        auto1.setSelected(karkelo.annaPelaaja(0).getAuto());
-        
-        
+        auto1.setSelected(karkelo.annaPelaaja(0).getAuto());   
     }
     
     /**
@@ -97,7 +103,7 @@ public class PadelMainGUIController {
     }
 
 
-    
+    /*
     private void LisaaPelaaja() {
         Pelaaja uusi = new Pelaaja();
         uusi.rekisteroi();
@@ -112,7 +118,12 @@ public class PadelMainGUIController {
         //hae(uusi.getTunnusNro());
 
     }
+    */
     
+    /**
+     * rekisteröi ja lisää parametrina annetun uuden pelaajan
+     * @param uusi pelaaja
+     */
     public static void LisaaPelaaja(Pelaaja uusi) {
         
         uusi.rekisteroi();
@@ -128,6 +139,10 @@ public class PadelMainGUIController {
 
     }
     
+    /**
+     * rekisteröi ja lisää parametrina annetun uuden ottelun
+     * @param uusi ottelu
+     */
     public static void LisaaOttelu(Ottelu uusi) {
         
         uusi.rekisteroi();
@@ -157,11 +172,10 @@ public class PadelMainGUIController {
         LisaaPelaaja(uusi8);
     }
 
-    
-    private void avaaOtteluikkuna() {
-        //ei tarvita
-    }
-
+    /**
+     * Palauttaa controllerin käyttämän karkelon jotta sitä voi käyttää muissa controllereissa
+     * @return karkelo
+     */
     public static Karkelot getKarkelo() {
         return karkelo;
     }
-- 
GitLab