Skip to content
Snippets Groups Projects
Commit 51cc228a authored by jalitat's avatar jalitat
Browse files

jee ollaan valmiit

parent e3a6f5b0
No related branches found
No related tags found
No related merge requests found
No preview for this file type
No preview for this file type
...@@ -9,12 +9,14 @@ namespace platformerPeli; ...@@ -9,12 +9,14 @@ namespace platformerPeli;
/// <summary> /// <summary>
/// Platformer PVP Peli /// Platformer PVP Peli
/// </summary> /// </summary>
/// Tämä linkki on että osoitan osaavani taulukot https://tim.jyu.fi/view/kurssit/tie/ohj1/v/2024/syksy/demot/demo10?answerNumber=83&b=oLNB7gIsCK6M&size=1&task=tauno&user=jalitat
/// Tämä linkki on että osoitan osaavani taulukot https://tim.jyu.fi/view/kurssit/tie/ohj1/v/2024/syksy/demot/demo10?answerNumber=6&b=oLNB7gIsCK6M&size=1&task=tauno&user=garammtu
public class platformerPeli : PhysicsGame public class platformerPeli : PhysicsGame
{ {
private const int RuudunKoko = 40; // Kentän ruudun koko private const int RUUDUN_KOKO = 40; // Kentän ruudun koko
private const double nopeus = 200; //liikkumisnopeutta private const double NOPEUS = 200; //liikkumisnopeutta
private const double hyppyNopeus = 650; //hyppyvoimaa private const double HYPPY_NOPEUS = 650; //hyppyvoimaa
private PlatformCharacter pelaaja; //pelaaja 1 private PlatformCharacter pelaaja; //pelaaja 1
private PlatformCharacter pelaaja2; //pelaaja 2 private PlatformCharacter pelaaja2; //pelaaja 2
private Image pelaajankuva = LoadImage("alpha000.png"); //lataa tyhjänkuvan minkä heti jälkeen vaihtaa animaation kanssa private Image pelaajankuva = LoadImage("alpha000.png"); //lataa tyhjänkuvan minkä heti jälkeen vaihtaa animaation kanssa
...@@ -54,7 +56,7 @@ public class platformerPeli : PhysicsGame ...@@ -54,7 +56,7 @@ public class platformerPeli : PhysicsGame
kentta.SetTileMethod('#', LuoTaso); kentta.SetTileMethod('#', LuoTaso);
kentta.SetTileMethod('N', (paikka, leveys, korkeus) => LisaaPelaaja(paikka, ref pelaaja)); kentta.SetTileMethod('N', (paikka, leveys, korkeus) => LisaaPelaaja(paikka, ref pelaaja));
kentta.SetTileMethod('M', (paikka, leveys, korkeus) => LisaaPelaaja(paikka, ref pelaaja2)); kentta.SetTileMethod('M', (paikka, leveys, korkeus) => LisaaPelaaja(paikka, ref pelaaja2));
kentta.Execute(RuudunKoko, RuudunKoko); kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
Camera.ZoomToLevel(); Camera.ZoomToLevel();
} }
...@@ -79,8 +81,7 @@ public class platformerPeli : PhysicsGame ...@@ -79,8 +81,7 @@ public class platformerPeli : PhysicsGame
/// Luo kaksi pelaaja (on mahdollista luoda enemmän) /// Luo kaksi pelaaja (on mahdollista luoda enemmän)
/// </summary> /// </summary>
/// <param name="paikka">Pelaajan paikka</param> /// <param name="paikka">Pelaajan paikka</param>
/// <param name="leveys">Pelaajan leveys</param> /// <param name="pelaaja">peli hahmo</param>
/// <param name="korkeus">Pelaajan korkeus</param>
private void LisaaPelaaja(Vector paikka, ref PlatformCharacter pelaaja) private void LisaaPelaaja(Vector paikka, ref PlatformCharacter pelaaja)
{ {
pelaaja = new PlatformCharacter(52, 128); pelaaja = new PlatformCharacter(52, 128);
...@@ -107,8 +108,7 @@ public class platformerPeli : PhysicsGame ...@@ -107,8 +108,7 @@ public class platformerPeli : PhysicsGame
/// <summary> /// <summary>
/// Luodaan itse ase ja sen ominaisuus /// Luodaan itse ase ja sen ominaisuus
/// </summary> /// </summary>
/// <param name="pelaaja.Weapon">Pelaajan ase</param> /// <param name="pelaaja">Pelaajan</param>
/// <param name="Image">tehdään aseesta läpinäkymätön jotta ei menisi spriten päälle</param>
private void LisaaAse(PlatformCharacter pelaaja) private void LisaaAse(PlatformCharacter pelaaja)
{ {
if (pelaaja != null) if (pelaaja != null)
...@@ -139,14 +139,14 @@ public class platformerPeli : PhysicsGame ...@@ -139,14 +139,14 @@ public class platformerPeli : PhysicsGame
/// </summary> /// </summary>
private void LisaaNappaimet() private void LisaaNappaimet()
{ {
Keyboard.Listen(Key.W, ButtonState.Pressed, () => Hyppaa(pelaaja, hyppyNopeus), "Pelaaja 1: Hyppää"); Keyboard.Listen(Key.W, ButtonState.Pressed, () => Hyppaa(pelaaja, HYPPY_NOPEUS), "Pelaaja 1: Hyppää");
Keyboard.Listen(Key.A, ButtonState.Down, () => Liikuta(pelaaja, -nopeus), "Pelaaja 1: Liikuta vasemmalle"); Keyboard.Listen(Key.A, ButtonState.Down, () => Liikuta(pelaaja, -NOPEUS), "Pelaaja 1: Liikuta vasemmalle");
Keyboard.Listen(Key.D, ButtonState.Down, () => Liikuta(pelaaja, nopeus), "Pelaaja 1: Liikuta oikealle"); Keyboard.Listen(Key.D, ButtonState.Down, () => Liikuta(pelaaja, NOPEUS), "Pelaaja 1: Liikuta oikealle");
Keyboard.Listen(Key.E, ButtonState.Down, () => AmmuAseella(pelaaja), "Pelaaja 1: Ammu"); Keyboard.Listen(Key.E, ButtonState.Down, () => AmmuAseella(pelaaja), "Pelaaja 1: Ammu");
Keyboard.Listen(Key.Up, ButtonState.Pressed, () => Hyppaa(pelaaja2, hyppyNopeus), "Pelaaja 2: Hyppää"); Keyboard.Listen(Key.Up, ButtonState.Pressed, () => Hyppaa(pelaaja2, HYPPY_NOPEUS), "Pelaaja 2: Hyppää");
Keyboard.Listen(Key.Left, ButtonState.Down, () => Liikuta(pelaaja2, -nopeus), "Pelaaja 2: Liikuta vasemmalle"); Keyboard.Listen(Key.Left, ButtonState.Down, () => Liikuta(pelaaja2, -NOPEUS), "Pelaaja 2: Liikuta vasemmalle");
Keyboard.Listen(Key.Right, ButtonState.Down, () => Liikuta(pelaaja2, nopeus), "Pelaaja 2: Liikuta oikealle"); Keyboard.Listen(Key.Right, ButtonState.Down, () => Liikuta(pelaaja2, NOPEUS), "Pelaaja 2: Liikuta oikealle");
Keyboard.Listen(Key.L, ButtonState.Down, () => AmmuAseella(pelaaja2), "Pelaaja 2: Ammu"); Keyboard.Listen(Key.L, ButtonState.Down, () => AmmuAseella(pelaaja2), "Pelaaja 2: Ammu");
PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
...@@ -155,8 +155,10 @@ public class platformerPeli : PhysicsGame ...@@ -155,8 +155,10 @@ public class platformerPeli : PhysicsGame
/// <summary> /// <summary>
/// hahmo liikkuu /// pelaaja liikkuu
/// </summary> /// </summary>
/// <param name="pelaaja">peli hahmo</param>
/// <param name="nopeus">liikkumis nopeutta</param>
private void Liikuta(PlatformCharacter pelaaja, double nopeus) private void Liikuta(PlatformCharacter pelaaja, double nopeus)
{ {
pelaaja.Walk(nopeus); pelaaja.Walk(nopeus);
...@@ -166,6 +168,8 @@ public class platformerPeli : PhysicsGame ...@@ -166,6 +168,8 @@ public class platformerPeli : PhysicsGame
/// <summary> /// <summary>
/// suorittaa hypyn tässä /// suorittaa hypyn tässä
/// </summary> /// </summary>
/// <param name="pelaaja">peli hahmo</param>
/// <param name="hyppyNopeus"> nopeutta</param>
private void Hyppaa(PlatformCharacter pelaaja, double hyppyNopeus) private void Hyppaa(PlatformCharacter pelaaja, double hyppyNopeus)
{ {
if (pelaaja != null && (PelaajaOnMaassa(pelaaja) || jumpcount < 2)) //kattoo onko maassa tai hyppiny liian vähän if (pelaaja != null && (PelaajaOnMaassa(pelaaja) || jumpcount < 2)) //kattoo onko maassa tai hyppiny liian vähän
...@@ -184,6 +188,7 @@ public class platformerPeli : PhysicsGame ...@@ -184,6 +188,7 @@ public class platformerPeli : PhysicsGame
/// <summary> /// <summary>
/// Ollaanko varmasti maassa /// Ollaanko varmasti maassa
/// </summary> /// </summary>
/// <param name="pelaaja">pelaaja :D</param>
/// <returns> ollaanko iha varmasti maassa </returns> /// <returns> ollaanko iha varmasti maassa </returns>
private bool PelaajaOnMaassa(PlatformCharacter pelaaja) private bool PelaajaOnMaassa(PlatformCharacter pelaaja)
{ {
...@@ -207,13 +212,14 @@ public class platformerPeli : PhysicsGame ...@@ -207,13 +212,14 @@ public class platformerPeli : PhysicsGame
/// <summary> /// <summary>
/// ammutaan aseella /// ammutaan aseella
/// </summary> /// </summary>
/// <param name="pelaaja">pelaaja itse</param>
private void AmmuAseella(PlatformCharacter pelaaja) private void AmmuAseella(PlatformCharacter pelaaja)
{ {
if (pelaaja.Weapon != null) if (pelaaja.Weapon != null)
{ {
PhysicsObject ammus = pelaaja.Weapon.Shoot(); PhysicsObject ammus = pelaaja.Weapon.Shoot();
if (ammus != null) if (ammus != null) //jos ammus on olemassa, tekee alemmat
{ {
ammus.Size *= 3; ammus.Size *= 3;
ammus.Image = LoadImage("ThrowingKnife.png"); //ammos on puukko ammus.Image = LoadImage("ThrowingKnife.png"); //ammos on puukko
...@@ -226,6 +232,8 @@ public class platformerPeli : PhysicsGame ...@@ -226,6 +232,8 @@ public class platformerPeli : PhysicsGame
/// <summary> /// <summary>
/// katsotaan kumpi voittaa ja kumpi tuhoutuu /// katsotaan kumpi voittaa ja kumpi tuhoutuu
/// </summary> /// </summary>
/// <param name="ammus">pelaajan ammo</param>
/// <param name="target">pelaaja on targetti, jos osuu, tuhoutuu</param>
private void AmmusOsui(PhysicsObject ammus, PhysicsObject target) private void AmmusOsui(PhysicsObject ammus, PhysicsObject target)
{ {
if (target == pelaaja2) if (target == pelaaja2)
...@@ -244,6 +252,7 @@ public class platformerPeli : PhysicsGame ...@@ -244,6 +252,7 @@ public class platformerPeli : PhysicsGame
/// <summary> /// <summary>
/// PeliLopun jälkeen valinta ikkuna /// PeliLopun jälkeen valinta ikkuna
/// </summary> /// </summary>
/// <param name="message">pelaa taas tai lopeta peli</param>
private void ShowEndMenu(string message) private void ShowEndMenu(string message)
{ {
ClearControls(); ClearControls();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment