From 49d295f65ad28bc03af20f4b4681c1023600e114 Mon Sep 17 00:00:00 2001
From: Lahtinen Konsta Aleksi <konsta.a.lahtinen@student.jyu.fi>
Date: Fri, 28 Mar 2025 11:38:59 +0200
Subject: [PATCH] =?UTF-8?q?binhaku=20sek=C3=A4=20toimivat=20id:t?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Ohj2HT/src/Luokat/Reissu.java                 |  7 ++++-
 Ohj2HT/src/Luokat/Saaliit.java                | 28 +++++++++++++++++++
 Ohj2HT/src/Luokat/Saalis.java                 |  7 ++++-
 .../fxKalenteri/KalenteriGUIController.java   |  1 +
 kalaLaskuri.dat                               |  4 +--
 reissut.dat                                   |  1 -
 saaliit.dat                                   |  6 ++--
 vieheLaskuri.dat                              |  4 +--
 8 files changed, 47 insertions(+), 11 deletions(-)

diff --git a/Ohj2HT/src/Luokat/Reissu.java b/Ohj2HT/src/Luokat/Reissu.java
index 5265950..dc03460 100644
--- a/Ohj2HT/src/Luokat/Reissu.java
+++ b/Ohj2HT/src/Luokat/Reissu.java
@@ -175,7 +175,12 @@ public class Reissu {
     	this.keli = t[3];
         int tagi = Integer.parseInt(t[0]);
     	this.reissunTag = tagi;
-        SeuraavanReissunTag++;
+        if (reissunTag > SeuraavanReissunTag) {
+            this.reissunTag = SeuraavanReissunTag +1;
+        }
+        else {
+            SeuraavanReissunTag++;
+        }
         this.poistetaanko = false;
     }
     
diff --git a/Ohj2HT/src/Luokat/Saaliit.java b/Ohj2HT/src/Luokat/Saaliit.java
index a5f9d35..2903494 100644
--- a/Ohj2HT/src/Luokat/Saaliit.java
+++ b/Ohj2HT/src/Luokat/Saaliit.java
@@ -1,5 +1,7 @@
 package Luokat;
 
+import fi.jyu.mit.fxgui.Dialogs;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -96,4 +98,30 @@ public class Saaliit {
         Saalis s3 = new Saalis("iso", "kuha", "lippa", "hopea");
         saaliit.lisaa(s3);
     }
+
+    public void poista(int saaliinId) {
+        int poistettava = binHaku(saaliinId);
+        if (poistettava == -1) {
+            return;
+        }
+        saaliit[poistettava] = null;
+    }
+
+    public int binHaku(int key) {
+        int alin = 0;
+        int ylin = index - 1;
+        while (alin <= ylin){
+            int keski = (alin + ylin) / 2;
+            if (saaliit[keski].getSaaliinId() == key){
+                return keski;
+            }
+            if (saaliit[keski].getSaaliinId() < key){
+                alin = keski + 1;
+            }
+            if (saaliit[keski].getSaaliinId() > key){
+                ylin = keski - 1;
+            }
+        }
+        return -1;
+    }
 }
diff --git a/Ohj2HT/src/Luokat/Saalis.java b/Ohj2HT/src/Luokat/Saalis.java
index 1a5faae..84f49dd 100644
--- a/Ohj2HT/src/Luokat/Saalis.java
+++ b/Ohj2HT/src/Luokat/Saalis.java
@@ -21,7 +21,12 @@ public class Saalis {
             tiedotLuku[i] = Integer.parseInt(tiedot[i]);
         }
         this.saaliinId = tiedotLuku[0];
-        seuraavanSaaliinId = tiedotLuku[0]+1;
+        if (this.saaliinId > seuraavanSaaliinId) {
+            seuraavanSaaliinId = this.saaliinId + 1;
+        }
+        else {
+            seuraavanSaaliinId++;
+        }
         laji = l.getValueFromId(tiedotLuku[1]);
         koko = k.getValueFromId(tiedotLuku[2]);
         reissunTagi = tiedotLuku[3];
diff --git a/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java b/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java
index fbef753..857c9be 100644
--- a/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java
+++ b/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java
@@ -170,6 +170,7 @@ public class KalenteriGUIController implements Initializable {
             for (Saalis s: valittuReissu.getSaaliit()){
                 kalenteri.getKalaLaskuri().vahenna(kalenteri.getLajiTulkki().getIdFromValue(s.getLaji()));
                 kalenteri.getVieheLaskuri().vahenna(kalenteri.getVieheTulkki().getIdFromValue(s.getViehe().tyyppi()));
+                kalenteri.getSaaliit().poista(s.getSaaliinId());
             }
             kalenteri.getReissut().removeReissu();
             System.out.println("Jälkeen " + kalenteri.getReissut().getReissut().size());
diff --git a/kalaLaskuri.dat b/kalaLaskuri.dat
index d2a0b17..0be46e8 100644
--- a/kalaLaskuri.dat
+++ b/kalaLaskuri.dat
@@ -2,5 +2,5 @@
 2|2
 3|1
 4|1
-5|2
-6|1
+5|1
+6|0
diff --git a/reissut.dat b/reissut.dat
index c715403..03715b0 100644
--- a/reissut.dat
+++ b/reissut.dat
@@ -1,6 +1,5 @@
 1|17.11.2025|Vuontee|aurinkoinen
 2|16.11.2025|Tikkakoski|sateinen
 3|11.05.2025|Laukaa|aurinkoinen
-4|20.03.2025|Keljo|aurinkoinen
 5|19.03.2025|Rovaniemi|Aurinkoinen
 7|12.03.2024|Laukaa|Pilvinen
diff --git a/saaliit.dat b/saaliit.dat
index 805da72..1c6ca5c 100644
--- a/saaliit.dat
+++ b/saaliit.dat
@@ -1,11 +1,9 @@
-5|1|3|1|3|sininen
-6|2|1|1|1|hopea
 2|1|3|2|2|Fire tiger
 3|2|1|2|1|hopea
 4|4|1|3|1|vihreä
-5|6|3|4|1|kuparinen
-5|5|1|4|3|musta
+6|2|1|1|1|hopea
 7|5|1|5|1|kupari
 8|3|2|6|1|hopeinen
 9|1|2|7|1|sininen
 10|3|3|7|2|keltainen
+11|1|3|1|3|sininen
diff --git a/vieheLaskuri.dat b/vieheLaskuri.dat
index 3a979cc..6d7f15d 100644
--- a/vieheLaskuri.dat
+++ b/vieheLaskuri.dat
@@ -1,3 +1,3 @@
-1|6
+1|5
 2|1
-3|2
+3|1
-- 
GitLab