diff --git a/KelaCombat/KelaCombatTesti/KelaCombatTesti.cs b/KelaCombat/KelaCombatTesti/KelaCombatTesti.cs index 23ac2c5a23cc96bcb514246f315017330181aebb..963d0b79381d74e4264125229a7625559301d245 100644 --- a/KelaCombat/KelaCombatTesti/KelaCombatTesti.cs +++ b/KelaCombat/KelaCombatTesti/KelaCombatTesti.cs @@ -1,5 +1,7 @@ using System; using System.Collections.Generic; +using System.Net.Mime; +using System.Security.Cryptography; using FarseerPhysics.Dynamics.Joints; using Jypeli; using Jypeli.Assets; @@ -25,11 +27,12 @@ namespace KelaCombatTesti; //IntMeter edustaa muuttujia, jotka voivat kasvaa tai vähentyä tietyllä tavalla IntMeter pisteet; //pelaajan keräämät pisteet - IntMeter pelaajanelamaLaskuri; //pelaajan elämät + DoubleMeter pelaajanelamaLaskuri; //pelaajan elämät IntMeter Kelabotinelamalaskuri; //kelabotin elämät //Label = tekstielementti, joka näytetään pelissä Label pisteNaytto; //pisteiden näyttäminen ruudulla + @@ -38,6 +41,7 @@ namespace KelaCombatTesti; { LuoKentta(); LuoKelabotti(); + LuoElamalaskuri(); LuoPistelaskuri(); // Alustetaan pistelaskuri @@ -52,10 +56,13 @@ namespace KelaCombatTesti; //kelabotin elämien väheneminen VahingoitaKelabottia aliohjelman mukaisesti //AddCollisionHandler(Kelabotti, "Pesismaila", VahingoitaKelabottia); + + - Camera.Follow(pelaaja); + Camera.Follow(pelaaja); + @@ -86,6 +93,8 @@ namespace KelaCombatTesti; pelaaja.Jump(300.0); } } + + void LuoKentta() { @@ -115,7 +124,7 @@ namespace KelaCombatTesti; alaReuna.Color = Color.Gray; - pelaaja = LuoPelaaja(0.0, 0.0); + pelaaja = LuoPelaaja(500.0, 0.0); } @@ -128,15 +137,57 @@ namespace KelaCombatTesti; pelaaja.Color = Color.Black; pelaaja.X = x; pelaaja.Y = y; - pelaajanelamaLaskuri = new IntMeter(5); // Alussa on 5 elämää + ; // Alussa on 5 elämää Add(pelaaja); return pelaaja; } + + void LuoElamalaskuri() + { + pelaajanelamaLaskuri = new DoubleMeter(100.0); + pelaajanelamaLaskuri.MaxValue = 100; + pelaajanelamaLaskuri.LowerLimit += ElamaLoppui; + + ProgressBar elamapalkki = new ProgressBar(150, 18); + elamapalkki.X = Screen.Left + 110; + elamapalkki.Y = Screen.Bottom + 50; + elamapalkki.BindTo(pelaajanelamaLaskuri); + elamapalkki.Color = Color.Red; + elamapalkki.BarColor = Color.Green; + elamapalkki.BorderColor = Color.Black; + Label tekstikentta = new Label(200, 10, "Mielenterveys"); + tekstikentta.X = Screen.Left + 100; + tekstikentta.Y = Screen.Bottom + 80; + tekstikentta.Font = new Font(20); + Add(tekstikentta); + Add (elamapalkki); + + } + + + + void ElamaLoppui() + { + Label Kuolema = new Label(800, 40, "Toimeentulohakemus hylätty."); + Kuolema.Y = 140; + Kuolema.Font = new Font(60); + Kuolema.TextColor = Color.Red; + Kuolema.Color = Color.Black; + Add(Kuolema); + //Kuolema.X = Screen.Left + 0; + //Kuolema.Y = Screen.Bottom + 0; + pelaaja.Destroy(); + } + + + - + + + // Tässä luodaan uusi fysiikkaolio, Pesismaila //Tämä toimii pelaajan lyöntinä (samalla määritellään ase) // @@ -165,7 +216,7 @@ namespace KelaCombatTesti; Kelabotti.Color = Color.Orange; Kelabotti.Image = KelabottiKuva; Kelabotti.MirrorImage(); - //Kelabotinelamalaskuri = new IntMeter(5); // Alussa on 5 elämää + Kelabotinelamalaskuri = new IntMeter(5); // Alussa on 5 elämää Kelabotti.Tag = "Kelabotti"; Add(Kelabotti); @@ -186,15 +237,17 @@ namespace KelaCombatTesti; LuoKelabotti(); // Luodaan uusi vihollinen satunnaiseen paikkaan } - void VahingoitaPelaajaa(PhysicsObject pelaaja, PhysicsObject Kelabotti) - { - pelaajanelamaLaskuri.Value--; // Vähentää pelaajan elämää yhdellä - MessageDisplay.Add("Osuma! Elämät jäljellä: " + pelaajanelamaLaskuri.Value); + void VahingoitaPelaajaa(PhysicsObject pelaaja, PhysicsObject Kelabotti) + { + int luku = RandomGen.NextInt(19, 34); + pelaajanelamaLaskuri.Value = pelaajanelamaLaskuri - luku; // Vähentää pelaajan elämää satunnaisen määrän + //MessageDisplay.Add("Osuma! Elämät jäljellä: " + pelaajanelamaLaskuri.Value); + if (pelaajanelamaLaskuri.Value <= 0) //jos laskuri menee nollaan... { - MessageDisplay.Add("Game Over!"); //peli päätyyy... - pelaaja.Destroy(); //...ja pelaaja tuhotaan + pelaaja.Destroy(); //...ja pelaaja tuhotaan } + }