From e83b7daa3bafc8b9770e7782ffba8e89e2fc7b61 Mon Sep 17 00:00:00 2001
From: Pekka Pihlajamaa <pepihlaj@student.jyu.fi>
Date: Mon, 14 Nov 2022 04:31:05 +0200
Subject: [PATCH] =?UTF-8?q?Lis=C3=A4ily=C3=A4=20ja=20viimeisi=C3=A4=20omin?=
 =?UTF-8?q?aisuukisa=20peliin?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Hiko/Hiko/Hiko.cs | 47 ++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 44 insertions(+), 3 deletions(-)

diff --git a/Hiko/Hiko/Hiko.cs b/Hiko/Hiko/Hiko.cs
index e66cb75..1ae6b30 100644
--- a/Hiko/Hiko/Hiko.cs
+++ b/Hiko/Hiko/Hiko.cs
@@ -28,6 +28,7 @@ namespace Hiko
         PhysicsObject pelaaja;
         GameObject tahtain;
         Image taustakuva = LoadImage("Testitaustakuva");
+        IntMeter pistelaskuri;
 
         /// <summary>
         /// Luodaan peliin kenttä
@@ -63,6 +64,24 @@ namespace Hiko
         public override void Begin()
         {
             // Kirjoita ohjelmakoodisi tähän
+            string[] vaihtoehdot = { "Aloita peli", "Parhaat pisteet", "Lopeta" };
+            MultiSelectWindow alkuvalikko = new MultiSelectWindow("HIKO", vaihtoehdot);
+            
+            alkuvalikko.AddItemHandler(0, AloitaPeli);
+            //alkuvalikko.AddItemHandler(1, ParhaatPisteet);
+            alkuvalikko.AddItemHandler(2, Exit);
+            alkuvalikko.Color = Color.AshGray;
+            alkuvalikko.SetButtonColor(Color.BlueGray);
+            alkuvalikko.SetButtonTextColor(Color.Blue);
+            Add(alkuvalikko);
+        }
+
+
+        /// <summary>
+        /// Tämä aliohjelma aloittaa sen varsinaisen pelin
+        /// </summary>
+        public void AloitaPeli()
+        {
 
             Level.CreateBorders();
             Camera.ZoomToLevel();
@@ -75,8 +94,9 @@ namespace Hiko
             LuoOhjaimet();
             LuoTahtain();
             LuoAikalaskuri();
-            tiles.SetTileMethod('X',LuoMaavihu);
-            tiles.SetTileMethod('_',LuoTaso);
+            LuoPisteLaskuri();
+            tiles.SetTileMethod('X', LuoMaavihu);
+            tiles.SetTileMethod('_', LuoTaso);
             tiles.Execute(tileWidth, tileHeight);
         }
 
@@ -93,10 +113,15 @@ namespace Hiko
             pelaaja.Image = LoadImage("pääjehu2");
             pelaaja.CanRotate = false;
             pelaaja.AddCollisionIgnoreGroup(1);
+            AddCollisionHandler<PhysicsObject, Vihu>(pelaaja, PelaajaTormasi);
             Add(pelaaja);
             return pelaaja;
         }
-
+        void PelaajaTormasi(PhysicsObject tormaaja, Vihu kohde)
+        {
+            MessageDisplay.Add("You died!");
+            //Exit();
+        }
 
         /// <summary>
         /// Luo vihollisolion
@@ -116,6 +141,7 @@ namespace Hiko
             tasoaivot.Speed = 100;
             maavihu.Brain = tasoaivot;
             maavihu.Image = LoadImage("örkki");
+            
             Add(maavihu);
         }
 
@@ -256,6 +282,21 @@ namespace Hiko
             
         }
 
+        /// <summary>
+        /// Tämä aliohjelma luo pistelaskurin
+        /// </summary>
+        void LuoPisteLaskuri()
+        {
+            pistelaskuri = new IntMeter(0);
+
+            Label pistenaytto = new Label();
+            pistenaytto.X = Screen.Left + 100;
+            pistenaytto.Y = Screen.Top - 100;
+            pistenaytto.TextColor = Color.Black;
+            pistenaytto.Color = Color.White;
 
+            pistenaytto.BindTo(pistelaskuri);
+            Add(pistenaytto);
+        }
     }
 }
\ No newline at end of file
-- 
GitLab