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