From 385e36cbcdfcf6ab151dd3b7b18359fa24b75954 Mon Sep 17 00:00:00 2001
From: Kullberg Joonatan <joonatan.kullberg@gmail.com>
Date: Thu, 27 Mar 2025 14:46:31 +0200
Subject: [PATCH] ruletti toimii luultavasti, hiiri toimii alkuvalikossa,
 slottien overlay aloitus

---
 .../Financial_Freedom/Content/slotBG.png      | Bin 0 -> 25001 bytes
 .../Financial_Freedom/Content/tyhjatausta.png | Bin 0 -> 7158 bytes
 .../Financial_Freedom/Financial_Freedom.cs    | 472 ++++++++++++------
 .../Financial_Freedom.csproj                  |   6 +
 4 files changed, 338 insertions(+), 140 deletions(-)
 create mode 100644 Financial_Freedom/Financial_Freedom/Content/slotBG.png
 create mode 100644 Financial_Freedom/Financial_Freedom/Content/tyhjatausta.png

diff --git a/Financial_Freedom/Financial_Freedom/Content/slotBG.png b/Financial_Freedom/Financial_Freedom/Content/slotBG.png
new file mode 100644
index 0000000000000000000000000000000000000000..830606de2e4efd4d67770a8bea7787233547cc46
GIT binary patch
literal 25001
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

literal 0
HcmV?d00001

diff --git a/Financial_Freedom/Financial_Freedom/Content/tyhjatausta.png b/Financial_Freedom/Financial_Freedom/Content/tyhjatausta.png
new file mode 100644
index 0000000000000000000000000000000000000000..280534f0a2659de0aa4f48669376bbe67f7900e2
GIT binary patch
literal 7158
zcmeAS@N?(olHy`uVBq!ia0y~yU;{Fl6F5NBE2YKLfD~hKkh>GZx^prwfgF}}M_)$<
zhK>E)e-c@Ne9i)o$YKTtp%M^gyq6|l!N4Hh?djqeQW5v|rlBB%0uO`XpV>)AJyS*G
z>m?T{J--_X)W*QDz!gj}I81=h4GN49h9eV%ZeoGZESwOULkL0(s6c214+uSK0K;e?
z0+YgMIv5QDP>C>_4o1UZG#!9KU^E?!h5<MkjFyR`c>$adM(f7WGI6v_94!+^`_2pu
zqhT-_2B4B)G#!kF!Du>w)QO{cVKgs{=7rI`FgnM=z%UHLV1n^)##y2P=ML1jfoAv^
NJYD@<);T3K0RTSIX+i)1

literal 0
HcmV?d00001

diff --git a/Financial_Freedom/Financial_Freedom/Financial_Freedom.cs b/Financial_Freedom/Financial_Freedom/Financial_Freedom.cs
index eac9292..e9a9194 100644
--- a/Financial_Freedom/Financial_Freedom/Financial_Freedom.cs
+++ b/Financial_Freedom/Financial_Freedom/Financial_Freedom.cs
@@ -107,6 +107,25 @@ public class RouletteBet
     }
 }
 
+public class RBetAmounts
+{
+    // Esim. betType voi olla numero ("36") tai sana ("Red")
+    public string BetType { get; set; }  
+    // Panostettu rahamäärä
+    public double Amount { get; set; }
+
+    public RBetAmounts(string betType, double amount)
+    {
+        BetType = betType;
+        Amount = amount;
+    }
+
+    public override string ToString()
+    {
+        return $"{BetType}: {Amount}";
+    }
+}
+
 
 public class  Financial_Freedom : PhysicsGame
 //alustellaan muuttujat
@@ -115,8 +134,10 @@ public class  Financial_Freedom : PhysicsGame
     private double tsplinko = (1); //suurinpiirtein takaisinsaantikerroin plinkoalustoissa 0.85 kontrollikerroin
     DoubleMeter pistelaskuri; //heitäppä villi veikkaus mikä tämä voisi olla
     private Label panosLabel; // Label, joka näyttää panoksen no shit
+    private Label titleLabel; //panoksen titlelabel
     private double panos; // Alkustus panokselle
     private TaskCompletionSource<bool> panosAsetettu;
+    private bool removePanosLabelAfterPanos; // Tämä kenttä tallentaa, poistetaanko labelit
     private Label pistenaytto;
     private GameObject coinObject;
     private TaskCompletionSource<bool> animaatioValmis;
@@ -127,6 +148,7 @@ public class  Financial_Freedom : PhysicsGame
     private List<string> clickLog = new List<string>(); //ruletin panostuksen clikkailulogi
     private GameObject doneButton = null;
     private double realangle;
+    private List<RBetAmounts> bets = new List<RBetAmounts>();
     
     private int peliKesken = 0;
     
@@ -169,9 +191,9 @@ public class  Financial_Freedom : PhysicsGame
     // Värit: Vihreät 0 ja 00, muut ovat virallisesti määrättyjä.
     // Muut värit on asetettu siten, että annettu järjestys vastaa virallista ruletin väriä.
     string[] colors = new string[] {
-        "Black", "Red", "Black", "Red", "Black", "Red", "Black", "Red", "Black", "Red", "Green",    
-        "Black", "Red", "Black", "Red", "Black", "Red", "Black", "Red", "Black", "Red", "Black", "Red", "Black", "Red", "Black", "Red", "Black", "Green",    
-        "Red", "Black", "Red", "Black", "Red", "Black", "Red", "Black", "Red"
+        "Musta", "Punainen", "Musta", "Punainen", "Musta", "Punainen", "Musta", "Punainen", "Musta", "Punainen", "Vihreä",    
+        "Musta", "Punainen", "Musta", "Punainen", "Musta", "Punainen", "Musta", "Punainen", "Musta", "Punainen", "Musta", "Punainen", "Musta", "Punainen", "Musta", "Punainen", "Musta", "Vihreä",    
+        "Punainen", "Musta", "Punainen", "Musta", "Punainen", "Musta", "Punainen", "Musta", "Punainen"
     };
 
     double[] anglet = new double[] {
@@ -384,6 +406,63 @@ public class  Financial_Freedom : PhysicsGame
         Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Lopeta peli");
     }
     
+    /// <summary>
+    /// luo suorakulmion annettun kokoon ja paikkaan
+    /// </summary>
+    /// <param name="peli"></param>
+    /// <param name="width">logon leveys</param>
+    /// <param name="height">logon korkeus</param>
+    /// <param name="x">logon paikka</param>
+    /// <param name="y">logon paikka</param>
+    public void MiniPeliLogo(Game peli, double width, double height, double x, double y, string kuva, int order)
+    {
+        PhysicsObject p = new PhysicsObject(width, height, Shape.Rectangle, x, y)
+        {
+            Position = new Vector(x, y),
+            Image = LoadImage(kuva),
+            Tag = order // Käytetään tagia tunnistamiseen
+        };
+        p.Image = LoadImage(kuva); 
+        Label iconLab = new Label(kuva+$" ({order})")
+        {
+            Color = Color.White,
+            Position = new Vector(x, y-90), // Asetetaan sijainti
+        };
+        
+        // Klikkaustoiminto: Kun objektia klikataan, siirrytään peliin
+        Mouse.ListenOn(p, MouseButton.Left, ButtonState.Pressed, () => ValitsePeli(order), "Siirry peliin");
+
+        
+        peli.Add(p);
+        peli.Add(iconLab);
+        
+    }
+    
+    public async void ValitsePeli(int order)
+    {
+        switch (order)
+        {
+            case 1:
+                await Plinko();
+                break;
+            case 2:
+                await BlackJack();
+                break;
+            case 3:
+                await Ruletti();
+                break;
+            case 4:
+                await Slots();
+                break;
+            case 5:
+                await Coinflip();
+                break;
+            default:
+                MessageDisplay.Add("Tuntematon peli!");
+                break;
+        }
+    }
+    
     
     /// <summary>
     /// Blackjack peli, panosken asetus, peli ja tulosten lasku
@@ -397,7 +476,7 @@ public class  Financial_Freedom : PhysicsGame
         ClearControls();
         Remove(pistenaytto);
         Add(pistenaytto);
-        await LisaaPanos();  // Odotetaan, kunnes panos on asetettu
+        await LisaaPanos(false);  // Odotetaan, kunnes panos on asetettu
 
         panosAsetettu.TrySetResult(true);  // Varmistetaan, että odotus päättyy 
         TakaisinPV();
@@ -406,10 +485,11 @@ public class  Financial_Freedom : PhysicsGame
         EnsimmäinenBJ();
     }
     
-    public async Task LisaaPanos()
+    public async Task LisaaPanos(bool removeLabels)
     {
+        removePanosLabelAfterPanos = removeLabels;
         // Ylhäällä keskellä oleva teksti "Aseta panos"
-        Label titleLabel = new Label("Aseta panos")
+        titleLabel = new Label("Aseta panos")
         {
             Color = Color.White,
             Position = new Vector(0, 200), // Asetetaan sijainti
@@ -428,10 +508,65 @@ public class  Financial_Freedom : PhysicsGame
         kysymysIkkuna.TextEntered += ProcessInput;
         Add( kysymysIkkuna );
         await panosAsetettu.Task;
+        if (removePanosLabelAfterPanos == true) {Remove(panosLabel); }
         Remove(titleLabel);
+        Console.WriteLine("lisaapanos = loppu");
     }
 
-
+     public async Task VaihdaPanos() // hmmmmmm voisiko ehkä vaihtaa panosta
+    { //esim plinkossa voi vaihtaa panosta lennosta
+        InputWindow kysymysIkkuna = new InputWindow("Aseta Panos" );
+        kysymysIkkuna.TextEntered += ProcessInput;
+        Add( kysymysIkkuna );
+    }
+    
+    void ProcessInput( InputWindow ikkuna ) // prosessoi inputin kun panos on asetettu
+    {
+        string vastaus = ikkuna.InputBox.Text;
+        if (double.TryParse(vastaus, out panos) && panos > 0 && panos <= pistelaskuri.Value)
+        {
+            panosLabel.Text = "Panos: " + Math.Round(panos, 2); // Update the display label
+            
+            MessageDisplay.Add("Panos hyväksytty: " + panos);
+            
+            panosAsetettu.TrySetResult(true);
+            // Lisää logiikka panoksen käyttämiseksi pelissä
+        }
+        else if (vastaus == "max" || vastaus == "m" || vastaus == "a" || vastaus == "allin" || vastaus == "all in" || vastaus == "all" || vastaus == "kaikki" || vastaus == "inshallah" || vastaus == "0" && panos > 0 && panos < pistelaskuri.Value) //AllIn
+        {
+            panos = pistelaskuri.Value; 
+            
+            panosLabel.Text = "Panos: " + Math.Round(panos, 2); // Update the display label
+                   
+            MessageDisplay.Add("Panos hyväksytty: " + panos);
+            
+            panosAsetettu.TrySetResult(true);
+            // Lisää logiikka panoksen käyttämiseksi pelissä   
+        }
+        else if (vastaus == "half" || vastaus == "h" || vastaus == "puolet" || vastaus == "p" || vastaus == "1/2" || vastaus == "^" && panos > 0 && panos < pistelaskuri.Value) //puolet inee
+        {
+                panos = pistelaskuri.Value/2; 
+            
+                panosLabel.Text = "Panos: " + Math.Round(panos, 2); // Update the display label
+                   
+                MessageDisplay.Add("Panos hyväksytty: " + panos);
+            
+                panosAsetettu.TrySetResult(true);
+                // Lisää logiikka panoksen käyttämiseksi pelissä  
+        }
+        else
+        {
+            MessageDisplay.Add("Virheellinen panos. Aseta panos johon sinulla on varaa ja joka on positiivinen luku.");
+            Remove(ikkuna);
+            Remove(titleLabel);
+            Remove(panosLabel);
+            Keyboard.Listen(Key.P, ButtonState.Pressed, async () => await VaihdaPanos(), "vaihtaa panoksen");
+            TakaisinPV();
+            
+        }
+    }
+    
+    
     public async Task EnsimmäinenBJ()
     {
         ClearGameObjects();
@@ -1199,52 +1334,6 @@ public class  Financial_Freedom : PhysicsGame
         return jaetutKortit;
     }
     
-    public async Task VaihdaPanos() // hmmmmmm voisiko ehkä vaihtaa panosta
-    { //esim plinkossa voi vaihtaa panosta lennosta
-        InputWindow kysymysIkkuna = new InputWindow("Aseta Panos" );
-        kysymysIkkuna.TextEntered += ProcessInput;
-        Add( kysymysIkkuna );
-    }
-    
-    void ProcessInput( InputWindow ikkuna ) // prosessoi inputin kun panos on asetettu
-    {
-        string vastaus = ikkuna.InputBox.Text;
-        if (double.TryParse(vastaus, out panos) && panos > 0 && panos <= pistelaskuri.Value)
-        {
-            panosLabel.Text = "Panos: " + Math.Round(panos, 2); // Update the display label
-            
-            MessageDisplay.Add("Panos hyväksytty: " + panos);
-            panosAsetettu.TrySetResult(true);
-            // Lisää logiikka panoksen käyttämiseksi pelissä
-        }
-        else if (vastaus == "max" || vastaus == "m" || vastaus == "a" || vastaus == "allin" || vastaus == "all in" || vastaus == "all" || vastaus == "kaikki" || vastaus == "inshallah" || vastaus == "0" && panos > 0 && panos < pistelaskuri.Value) //AllIn
-        {
-            panos = pistelaskuri.Value; 
-            
-            panosLabel.Text = "Panos: " + Math.Round(panos, 2); // Update the display label
-                   
-            MessageDisplay.Add("Panos hyväksytty: " + panos);
-            panosAsetettu.TrySetResult(true);
-            // Lisää logiikka panoksen käyttämiseksi pelissä   
-        }
-        else if (vastaus == "half" || vastaus == "h" || vastaus == "puolet" || vastaus == "p" || vastaus == "1/2" || vastaus == "^" && panos > 0 && panos < pistelaskuri.Value) //puolet inee
-        {
-                panos = pistelaskuri.Value/2; 
-            
-                panosLabel.Text = "Panos: " + Math.Round(panos, 2); // Update the display label
-                   
-                MessageDisplay.Add("Panos hyväksytty: " + panos);
-                panosAsetettu.TrySetResult(true);
-                // Lisää logiikka panoksen käyttämiseksi pelissä  
-        }
-        else
-        {
-            MessageDisplay.Add("Virheellinen panos. Aseta panos johon sinulla on varaa ja joka on positiivinen luku.");
-            Keyboard.Listen(Key.P, ButtonState.Pressed, async () => await VaihdaPanos(), "vaihtaa panoksen");
-            TakaisinPV();
-
-        }
-    }
 
     
     /// <summary>
@@ -1256,7 +1345,7 @@ public class  Financial_Freedom : PhysicsGame
         ClearControls();
         ClearGameObjects();
         Add(pistenaytto);
-        await LisaaPanos();  // Odotetaan, kunnes panos on asetettu
+        await LisaaPanos(false);  // Odotetaan, kunnes panos on asetettu
         panosAsetettu.TrySetResult(true);  // Varmistetaan, että odotus päättyy
         panosLabel.Position = new Vector(0, Level.Top - 60);
         panosLabel.TextScale = new Vector(2,2);
@@ -1264,6 +1353,7 @@ public class  Financial_Freedom : PhysicsGame
         panosLabel.Color = Color.Transparent;
         
         
+        
         Level.Background.Image = taustakuvaPlinko;
         
 
@@ -1409,6 +1499,7 @@ public class  Financial_Freedom : PhysicsGame
     public async Task Ruletti()
     {
         panosAsetettu = new TaskCompletionSource<bool>(false);
+        bets = new List<RBetAmounts>();
         
         ClearGameObjects();
         ClearControls();
@@ -1416,8 +1507,6 @@ public class  Financial_Freedom : PhysicsGame
         Level.Background.Width = Screen.Width;
         Level.Background.Height = Screen.Height;
         Add(pistenaytto);
-        await LisaaPanos();
-        panosAsetettu.TrySetResult(true);
 
         await LuoPanostusAlue();
         
@@ -1440,12 +1529,12 @@ public class  Financial_Freedom : PhysicsGame
         ClearControls();
         Add(pistenaytto);
         
-        Label ohjeet = new Label(1100, 35, "Klikkaa mihin haluat asettaa panoksesi. Jos klikkaat montaa kohtaa niin panos jaetaan niiden välille tasan.");
+        /*Label ohjeet = new Label(1100, 35, "Klikkaa mihin haluat asettaa panoksesi. Jos klikkaat montaa kohtaa niin panos jaetaan niiden välille tasan.");
         ohjeet.Color = Color.SkyBlue;
         ohjeet.TextColor = Color.Black;
         ohjeet.Position = new Vector(Screen.Right-575, Screen.Top-25);
         Add(ohjeet);
-        
+        */
         
         
         // Tausta panostusalueelle
@@ -1473,7 +1562,7 @@ public class  Financial_Freedom : PhysicsGame
         
         for (int i = 0; i < totalButtons; i++)
         {
-            int currentNumber = i+1; // pitää skipata 0 toistaiseksi, niille myöhemmin omat napit
+            int currentNumber = i+1; 
             int row = i / buttonsPerRow;
             int col = i % buttonsPerRow;
             
@@ -1517,13 +1606,18 @@ public class  Financial_Freedom : PhysicsGame
             numeroPanos.Add(numeroLabel);
             
             // Rekisteröidään napin hiiriklikkaus käyttäen paikallista muuttujaa
-            Mouse.Listen(MouseButton.Left, ButtonState.Pressed, () =>
+            Mouse.Listen(MouseButton.Left, ButtonState.Pressed, async () =>
             {
                 if (numeroPanos.IsInside(Mouse.PositionOnScreen))
                 {
+                    panosAsetettu = new TaskCompletionSource<bool>(false);
                     // Tallennetaan vain numero välimuistiin
                     clickLog.Add(numeroPanos.Tag.ToString());
-                    AsetaPanos((int)numeroPanos.Tag);
+                    await LisaaPanos(true);
+                    panosAsetettu.TrySetResult(true);
+                    double currentbet = panos;
+                    pistelaskuri.Value -= currentbet;
+                    AsetaPanos(numeroPanos.ToString(), currentbet);
                     if (doneButton == null)
                     {
                         CreateDoneButton();
@@ -1544,13 +1638,18 @@ public class  Financial_Freedom : PhysicsGame
         gOLabel.Position = new Vector(startX+52, startY+60);
         gOPanos.Add(gOLabel);
         
-        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, () =>
+        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, async () =>
         {
             if (gOPanos.IsInside(Mouse.PositionOnScreen))
             {
+                panosAsetettu = new TaskCompletionSource<bool>(false);
                 // Tallennetaan nolla välimuistiin
                 clickLog.Add("0");
-                AsetaPanosNollat("0");
+                await LisaaPanos(true);
+                panosAsetettu.TrySetResult(true);
+                double currentbet = panos;
+                pistelaskuri.Value -= currentbet;
+                AsetaPanosNollat("0", currentbet);
                 if (doneButton == null)
                 {
                     CreateDoneButton();
@@ -1570,13 +1669,18 @@ public class  Financial_Freedom : PhysicsGame
         gO0Label.Position = new Vector(startX+220, startY+60);
         gO0Panos.Add(gO0Label);
         
-        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, () =>
+        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, async () =>
         {
             if (gO0Panos.IsInside(Mouse.PositionOnScreen))
             {
+                panosAsetettu = new TaskCompletionSource<bool>(false);
                 // Tallennetaan tuplanolla välimuistiin
                 clickLog.Add("00");
-                AsetaPanosNollat("00");
+                await LisaaPanos(true);
+                panosAsetettu.TrySetResult(true);
+                double currentbet = panos;
+                pistelaskuri.Value -= currentbet;
+                AsetaPanosNollat("00", currentbet);
                 if (doneButton == null)
                 {
                     CreateDoneButton();
@@ -1596,13 +1700,18 @@ public class  Financial_Freedom : PhysicsGame
         punainenLabel.Position = new Vector(startX+52, startY+125);
         punainenPanos.Add(punainenLabel);
         
-        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, () =>
+        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, async () =>
         {
             if (punainenPanos.IsInside(Mouse.PositionOnScreen))
             {
+                panosAsetettu = new TaskCompletionSource<bool>(false);
                 // Tallennetaan värin nimi välimuistiin
-                clickLog.Add("Red");
-                AsetaPanosVärille("Punainen");
+                clickLog.Add("Punainen");
+                await LisaaPanos(true);
+                panosAsetettu.TrySetResult(true);
+                double currentbet = panos;
+                pistelaskuri.Value -= currentbet;
+                await AsetaPanosVärille("Punainen", currentbet);
                 if (doneButton == null)
                 {
                     CreateDoneButton();
@@ -1622,13 +1731,18 @@ public class  Financial_Freedom : PhysicsGame
         mustaLabel.Position = new Vector(startX+220, startY+125);
         mustaPanos.Add(mustaLabel);
         
-        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, () =>
+        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, async () =>
         {
             if (mustaPanos.IsInside(Mouse.PositionOnScreen))
             {
+                panosAsetettu = new TaskCompletionSource<bool>(false);
                 // Tallennetaan värin nimi välimuistiin
-                clickLog.Add("Black");
-                AsetaPanosVärille("Musta");
+                clickLog.Add("Musta");
+                await LisaaPanos(true);
+                panosAsetettu.TrySetResult(true);
+                double currentbet = panos;
+                pistelaskuri.Value -= currentbet;
+                AsetaPanosVärille("Musta", currentbet);
                 if (doneButton == null)
                 {
                     CreateDoneButton();
@@ -1658,26 +1772,75 @@ public class  Financial_Freedom : PhysicsGame
             if (Done.IsInside(Mouse.PositionOnScreen))
             {
                 peliKesken += 1;
-                panosAsetettu.TrySetResult(true);
-                pistelaskuri.Value -= panos;
+                //panosAsetettu.TrySetResult(true);
                 RulettiPyöritys();
             }
-        }, "Aseta panos värille Musta");
+        }, "");
     }
-    
-    void AsetaPanos(int numero)
+
+    async Task AsetaPanos(string numero, double bet)
     {
-        MessageDisplay.Add($"Panos asetettu numeroon {numero}!");
+        if (bet <= 0.0)
+        {
+            return;
+        }
+        var existingBet = bets.FirstOrDefault(b => b.BetType == numero);
+        if (existingBet != null)
+        {
+            existingBet.Amount += bet;
+        }
+        else
+        {
+            bets.Add(new RBetAmounts(numero.ToString(), bet));
+        }
+        
+        panosLabel.Clear();
+        panos = 0;
+        MessageDisplay.Add($"Panos {bet} asetettu numeroon {numero.ToString()}!");
     }
     
-    void AsetaPanosVärille(string väri)
+    async Task AsetaPanosVärille(string vari, double bet)
     {
-        MessageDisplay.Add($"Panos asetettu värille {väri}!");
+        if (bet <= 0.0)
+        {
+            return;
+        }
+        var existingBet = bets.FirstOrDefault(b => b.BetType.Equals(vari, StringComparison.OrdinalIgnoreCase));
+        if (existingBet != null)
+        {
+            // Lisätään panos olemassa olevaan määrään
+            existingBet.Amount += bet;
+        }
+        else
+        {
+            // Lisätään uusi panoslistaan
+            bets.Add(new RBetAmounts(vari, bet));
+        }
+        
+        panosLabel.Clear();
+        panos = 0;
+        MessageDisplay.Add($"Panos {bet} asetettu värille {vari}!");
     }
     
-    void AsetaPanosNollat(string nolla)
+    async Task AsetaPanosNollat(string nolla, double bet)
     {
-        MessageDisplay.Add($"Panos asetettu numerolle {nolla}!");
+        if (bet <= 0.0)
+        {
+            return;
+        }
+        var existingBet = bets.FirstOrDefault(b => b.BetType == nolla);
+        if (existingBet != null)
+        {
+            existingBet.Amount += bet;
+        }
+        else
+        {
+            bets.Add(new RBetAmounts(nolla, bet));
+        }
+        
+        panosLabel.Clear();
+        panos = 0;
+        MessageDisplay.Add($"Panos {bet} asetettu numerolle {nolla}!");
     }
     
     void RulettiPyöritys()
@@ -1691,7 +1854,7 @@ public class  Financial_Freedom : PhysicsGame
         Console.WriteLine($"Panokset on jaettu kohtiin:{string.Join(", ", clickLog)}");
         Console.WriteLine($"Panos per kohde on {panos} jaettuna {clickLog.Count} on {panos/clickLog.Count}");
         
-        RulettiLauta(this, 850, 25, 40, 0, 0);
+        RulettiLauta(this, 850, 20, 30, 0, 0);
         
         TakaisinPV();
     }
@@ -1769,6 +1932,8 @@ public class  Financial_Freedom : PhysicsGame
     }
     public async Task rulepisteenlasku(PhysicsObject transpallo, PhysicsObject pelilauta, List<Angle> checkAngles)
     {
+        double payout = 0;
+        bool voitto = false;
         var rulettitaskut = CreateRouletteBets();
         realangle = (transpallo.Angle.Degrees - pelilauta.Angle.Degrees) % 360;
         Console.WriteLine(transpallo.Angle.GetPositiveDegrees());
@@ -1780,6 +1945,14 @@ public class  Financial_Freedom : PhysicsGame
         
         string voittovari = "";
         int pallosijainti = (int)palloangle(realangle);
+        foreach (var rouletteBet in rulettitaskut)
+        {
+            if (rouletteBet.Pocket == pallosijainti)
+            {
+                voittovari = rouletteBet.Color;
+                break;
+            }
+        }
         
         Console.WriteLine($"Se TOIMIIIIIII {palloangle(realangle)}");
         
@@ -1789,54 +1962,87 @@ public class  Financial_Freedom : PhysicsGame
         List<int> numbers = new List<int>();
         List<string> colors = new List<string>();
 
-        // Käydään läpi alkuperäinen lista
-        foreach (var i in clickLog)
+        foreach (var bet in bets)
         {
-            // Tarkistetaan, onko item numero
-            if (int.TryParse(i, out int result))
+            // Tarkastetaan, onko panos numeropanoksessa
+            if (int.TryParse(bet.BetType, out int betNumber))
             {
-                // Jos on numero, lisätään numerolistaan
-                numbers.Add(result);
-            }
-            else
-            {
-                // Jos ei ole numero, lisätään värilistaan
-                colors.Add(i);
+                if (betNumber == pallosijainti)
+                {
+                    // Oletetaan, että yksittäinen numeropanos maksaa 36-kertaisesti
+                    payout = bet.Amount * 36;
+                    pistelaskuri.Value += payout;
+                    voitto = true;
+                    MessageDisplay.Add($"Numeropanoksesta voitit: +{payout}");
+                }
             }
-        }
-
-        foreach (var i in  numbers)
-        {
-            if (i == pallosijainti)
+            else // Muut panokset, esim. väri
             {
-                pistelaskuri.Value += panos/clickLog.Count*36;
-            }
-        }
-        
-        foreach (var rouletteBet in  rulettitaskut)
-        {
-            if (rouletteBet.Pocket == pallosijainti)
-            {   
-                voittovari = rouletteBet.Color;
-                Console.WriteLine($"Voittava väri on: {rouletteBet.Color}");
-                foreach (var i in colors)
+                // Vertaillaan värin nimiä (huomioi mahdolliset eri nimitykset)
+                if (bet.BetType.Equals(voittovari, StringComparison.OrdinalIgnoreCase)) /*||
+                    (bet.BetType.Equals("Punainen", StringComparison.OrdinalIgnoreCase) && voittovari.Equals("Red", StringComparison.OrdinalIgnoreCase)) ||
+                    (bet.BetType.Equals("Musta", StringComparison.OrdinalIgnoreCase) && voittovari.Equals("Black", StringComparison.OrdinalIgnoreCase)))*/
+                {
+                    // Esim. väri maksaa 2-kertaisesti
+                    payout = bet.Amount * 2;
+                    pistelaskuri.Value += payout;
+                    voitto = true;
+                    MessageDisplay.Add($"Väripanoksesta voitit: +{payout}");
+                }
+                else if (bet.BetType == "0" || bet.BetType == "00")
                 {
-                    if (i == voittovari)
+                    // Esimerkiksi nollille voi olla oma kerroin (tarkista pelin säännöt)
+                    payout = bet.Amount * 50;
+                    // Jos voittava numero on 0 tai 00
+                    if (pallosijainti.ToString() == bet.BetType)
                     {
-                        // Voittajaväriin on laitettu rahaa!
-                        // Tee jotain, esimerkiksi päivitä pistelaskuria
-                        pistelaskuri.Value += panos / clickLog.Count * 2; 
-                        Console.WriteLine("Voitto");
-                        break; // Poistu silmukasta, kun voittava väri on löydetty
+                        pistelaskuri.Value += payout;
+                        voitto = true;
+                        MessageDisplay.Add($"Nollapanoksesta voitit: +{payout}");
                     }
                 }
-                break;
             }
         }
+        bets = null;
         peliKesken -= 1;
+        
+        Label tulosTeksti = new Label();
+        tulosTeksti.TextColor = Color.LimeGreen;
+        tulosTeksti.Color = Color.Black;
+        tulosTeksti.Position = new Vector(-Screen.Width / 3, Screen.Height / 4); // Vasemmalle ylös
+        if (voitto){tulosTeksti.Text = $"Numero: {pallosijainti}\nVäri: {voittovari}\nVoittosumma: {payout}€";}
+        else {tulosTeksti.Text = $"Numero: {pallosijainti}\nVäri: {voittovari}\nHävisit (luuseri) :DD";}
+
+        tulosTeksti.TextScale = new Vector( 2, 2);    
+        Add(tulosTeksti);
+
+        double nappiwidth = 280;
+        double nappiheight = 100;
+        
+        PushButton uusiPeliNappi = new PushButton(nappiwidth, nappiheight, "Uusi peli");
+        uusiPeliNappi.Position = new Vector(Screen.Right-200, Screen.Height / 6); // Oikealle
+        uusiPeliNappi.Size = new Vector(280, 100);
+        uusiPeliNappi.TextScale = new Vector(2,2);
+        uusiPeliNappi.Clicked += delegate { _ = Ruletti(); };;
+        Add(uusiPeliNappi);
+
+        PushButton valikkoNappi = new PushButton( nappiwidth, nappiheight, "Päävalikko");
+        valikkoNappi.Position = new Vector(Screen.Right-200, -Screen.Height / 6); // Oikealle, alemmaksi
+        valikkoNappi.Size = new Vector(280, 100);
+        valikkoNappi.TextScale = new Vector(2,2);
+        valikkoNappi.Clicked += RultoPV;
+        Add(valikkoNappi);
+        
         TakaisinPV();
     }
 
+    public void RultoPV()
+    {
+        ClearControls();
+        ClearGameObjects();
+        PelinValinta();
+    }
+    
     public double palloangle(double realangle)
     {
         var rulettitaskut = CreateRouletteBets();
@@ -1861,11 +2067,18 @@ public class  Financial_Freedom : PhysicsGame
 
     public async Task Slots()
     {
+        Image tyhja = LoadImage("tyhjatausta.png");
+        Level.Background.Image = tyhja;
+        Widget overlay = new Widget(Screen.Width, Screen.Height); // Kuvan koko (leveys, korkeus)
+        overlay.Image = LoadImage("slotBG.png");
+
+        Add(overlay);
+
         panosAsetettu = new TaskCompletionSource<bool>(false);
         ClearGameObjects();
         ClearControls();
         Add(pistenaytto);
-        await LisaaPanos();  // Odotetaan, kunnes panos on asetettu
+        await LisaaPanos(false);  // Odotetaan, kunnes panos on asetettu
         panosAsetettu.TrySetResult(true);
         
         AlustusSlots();
@@ -2110,7 +2323,7 @@ public class  Financial_Freedom : PhysicsGame
         Level.Background.Image = taustakuvaCF;
         Level.Background.Width = Screen.Width;
         Level.Background.Height = Screen.Height;
-        await LisaaPanos();  // Odotetaan, kunnes panos on asetettu
+        await LisaaPanos(true);  // Odotetaan, kunnes panos on asetettu
         panosAsetettu.TrySetResult(true);  // Varmistetaan, että odotus päättyy 
         TakaisinPV();
         ClearControls();
@@ -2385,28 +2598,7 @@ public class  Financial_Freedom : PhysicsGame
     }
     
     
-    /// <summary>
-    /// luo suorakulmion annettun kokoon ja paikkaan
-    /// </summary>
-    /// <param name="peli"></param>
-    /// <param name="width">logon leveys</param>
-    /// <param name="height">logon korkeus</param>
-    /// <param name="x">logon paikka</param>
-    /// <param name="y">logon paikka</param>
-    public void MiniPeliLogo(Game peli, double width, double height, double x, double y, string kuva, int order)
-    {
-        PhysicsObject p = new PhysicsObject(width, height, Shape.Rectangle, x, y);
-        p.Image = LoadImage(kuva); 
-        Label iconLab = new Label(kuva+$" ({order})")
-        {
-            
-            Color = Color.White,
-            Position = new Vector(x, y-90), // Asetetaan sijainti
-        };
-        peli.Add(p);
-        peli.Add(iconLab);
-        
-    }
+    
     async Task Voitto()
     {
         Console.WriteLine(finalscore);
diff --git a/Financial_Freedom/Financial_Freedom/Financial_Freedom.csproj b/Financial_Freedom/Financial_Freedom/Financial_Freedom.csproj
index b9e7be8..2c9c5e3 100644
--- a/Financial_Freedom/Financial_Freedom/Financial_Freedom.csproj
+++ b/Financial_Freedom/Financial_Freedom/Financial_Freedom.csproj
@@ -338,6 +338,12 @@
       <None Update="Content\rulettipöytä.png">
         <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
       </None>
+      <None Update="Content\tyhjatausta.png">
+        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+      </None>
+      <None Update="Content\slotBG.png">
+        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+      </None>
     </ItemGroup>
 
     <ItemGroup>
-- 
GitLab