From ee9e3f51d91b553e971c3d58c619494e2e774890 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?L=C3=A4sp=C3=A4=20Vili=20Valtteri?=
 <vili.v.laspa@student.jyu.fi>
Date: Tue, 11 Mar 2025 12:40:14 +0200
Subject: [PATCH] =?UTF-8?q?vaihe=205=20lis=C3=A4tty=20tulos-luokka?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 puntti/src/fxPuntti/PunttiGUIController.java |   2 +
 puntti/src/puntti/Liikkeet.java              |   2 +-
 puntti/src/puntti/Puntti.java                |   2 +-
 puntti/src/puntti/Tulokset.java              |   5 +
 puntti/src/puntti/Tulos.java                 | 138 +++++++++++++++++++
 puntti/src/testaus/ErilaisetArvonnat.java    |  12 ++
 6 files changed, 159 insertions(+), 2 deletions(-)
 create mode 100644 puntti/src/puntti/Tulokset.java
 create mode 100644 puntti/src/puntti/Tulos.java

diff --git a/puntti/src/fxPuntti/PunttiGUIController.java b/puntti/src/fxPuntti/PunttiGUIController.java
index e7bd0ae..8808ff3 100644
--- a/puntti/src/fxPuntti/PunttiGUIController.java
+++ b/puntti/src/fxPuntti/PunttiGUIController.java
@@ -19,6 +19,8 @@ import puntti.SailoException;
 
 
 /**
+ * Controlleri kutsuu luokkia ja siirtää ne käyttöliittymään
+ * Kommunikoi käyttöliittymän ja koodin välillä
  * @author laspa
  * @version 20.1.2025
  *
diff --git a/puntti/src/puntti/Liikkeet.java b/puntti/src/puntti/Liikkeet.java
index faef49b..bd21f17 100644
--- a/puntti/src/puntti/Liikkeet.java
+++ b/puntti/src/puntti/Liikkeet.java
@@ -20,7 +20,7 @@ public class Liikkeet {
     
     private static final int MAX_LIIKKEITA = 5;
     
-    int lkm = 0;
+    private int lkm = 0;
     private Liike[] alkiot;
     
     
diff --git a/puntti/src/puntti/Puntti.java b/puntti/src/puntti/Puntti.java
index beab5db..6a2cf1e 100644
--- a/puntti/src/puntti/Puntti.java
+++ b/puntti/src/puntti/Puntti.java
@@ -22,7 +22,7 @@ package puntti;
  */
 public class Puntti {
     
-    Liikkeet liikkeet = new Liikkeet();
+    private Liikkeet liikkeet = new Liikkeet();
     
     
     /**
diff --git a/puntti/src/puntti/Tulokset.java b/puntti/src/puntti/Tulokset.java
new file mode 100644
index 0000000..c49382f
--- /dev/null
+++ b/puntti/src/puntti/Tulokset.java
@@ -0,0 +1,5 @@
+package puntti;
+
+public class Tulokset {
+
+}
diff --git a/puntti/src/puntti/Tulos.java b/puntti/src/puntti/Tulos.java
new file mode 100644
index 0000000..0d2df59
--- /dev/null
+++ b/puntti/src/puntti/Tulos.java
@@ -0,0 +1,138 @@
+package puntti;
+
+import java.io.PrintStream;
+
+import testaus.ErilaisetArvonnat;
+
+/**
+ * |------------------------------------------------------------------------|
+ * | Luokan nimi: Tulos                                 | Avustajat:        |
+ * |-------------------------------------------------------------------------
+ * | Vastuualueet:                                      |                   |
+ * |                                                    |                   |
+ * | (- ei tiedä puntista mitään, eikä kättöliittymästä)|                   |
+ * | - tietää tuloksen kentät(tulos, päivämäärä)        |                   |
+ * |                                                    |                   |
+ * | - tarkistaa kenttien oikeellisuuden(syntaksin)     |                   |
+ * | - osaa muuttaa 1|100|12.12.2024 merkkijonon        |                   |
+ * | liikkeen tiedoiksi.                                |                   |
+ * | - osaa antaa merkkijonona i:n kentän tiedot        |                   |
+ * | - osaa laittaa merkkijonon i:neksi kentäksi        |                   |
+ * |-------------------------------------------------------------------------
+ *
+ * @author laspa
+ * @version 11.3.2025
+ *
+ */
+public class Tulos {
+    
+    private int id = 0;
+    private int lid = 0;
+    private int tulos = 0;
+    private String paivamaara = "";
+    
+    private static int seuraavaId = 1;
+    
+    
+    /**
+     * Alustaa liikkeiden tiedot tyhjiksi
+     */
+    public Tulos(){
+        //ei käytössä, sillä tiedot on jo alustettu
+    }
+    
+    
+    
+    /**
+     * Alustetaan liike halutun liikkeen tulos
+     * @param lid liikken id:ee minkä tulos halutaan laittaa
+     */
+    public Tulos(int lid) {
+        this.lid = lid;
+    }
+    
+    
+    /**
+     * täyttää tuloksen tiedot
+     * @param ide minkä liikkeen tuloksesta on kyse
+     */
+    public void taytaPenkkiTulos(int ide) {
+        lid = ide;
+        tulos = ErilaisetArvonnat.arvontaS(20,100);
+        paivamaara = ErilaisetArvonnat.arvoPaiva();
+    }
+    
+    
+    
+    /**
+     * Tulostetaan liikeen tiedot
+     * @param out tietovirta johon tulostetaan
+     */
+    public void tulosta(PrintStream out) {
+        out.println(tulos + "kg" + " " + paivamaara);
+
+    }
+    
+    
+    
+    /**
+     * Antaa tulokselle suraavan id:n
+     * @return tuloksen id:n
+     * @example
+     * <pre name="test">
+     *   Tulos penkki = new Tulos();
+     *   penkki.getid() === 0;
+     *   penkki.lisaaTulos();
+     *   Tulos penkki2 = new Tulos();
+     *   penkki2.lisaaTulos();
+     *   int n1 = penkki.getid();
+     *   int n2 = penkki2.getid();
+     *   n1 === n2-1;
+     * </pre>
+     */
+    public int lisaaTulos() {
+        this.id = seuraavaId;
+        seuraavaId++;
+        return this.id;
+    }
+    
+    
+    /**
+     * palauttaa tuloksen oman id:n
+     * @return tuloksen id:n
+     */
+    public int getId() {
+        return this.id;
+    }
+    
+    
+    
+    
+    /**
+     * Palauttaa liikkeen liike id:n mille liikkeelle tulos kuuluu
+     * @return liikkeen lid:n 
+     */
+    public int getLid() {
+        return lid;
+    }
+    
+   
+    
+    
+
+    /**
+     * Testiohjelma Tulokselle
+     * @param args ei käytössä
+     */
+    public static void main(String[] args) {
+        Tulos tulos = new Tulos();
+        tulos.taytaPenkkiTulos(2);
+        tulos.tulosta(System.out);
+    }
+
+
+
+
+
+
+}
diff --git a/puntti/src/testaus/ErilaisetArvonnat.java b/puntti/src/testaus/ErilaisetArvonnat.java
index 0a26d56..2a57a35 100644
--- a/puntti/src/testaus/ErilaisetArvonnat.java
+++ b/puntti/src/testaus/ErilaisetArvonnat.java
@@ -30,6 +30,18 @@ public class ErilaisetArvonnat {
       return "";
     }
     
+    /**
+     * Arvotaan satunnainen paiva    
+     * @return satunnainen paivamaara
+     */
+    public static String arvoPaiva() {
+        String testiPaiva = String.format("%02d",arvontaS(1,28)) + "." +
+        String.format("%02d",arvontaS(1,12)) + "."   +
+        String.format("%04d",arvontaS(2000,2025));
+        return testiPaiva;       
+    }
+
+    
     
 
 }
-- 
GitLab