Skip to content
Snippets Groups Projects
Commit 17c10d79 authored by Salonen Leo Sakari's avatar Salonen Leo Sakari
Browse files

Lisättiin linkit funktion, silmukan ja taulukon osaamisen osoittavaan tehtävään

parent 155daca4
No related branches found
No related tags found
No related merge requests found
using System;
using System.Collections.Generic;
using Jypeli; using Jypeli;
using Jypeli.Assets;
using Jypeli.Controls;
using Jypeli.Widgets;
namespace pomppu_possu; namespace pomppu_possu;
// TODO: Taulukko, silmukka ja funktio, Leo, ks: https://tim.jyu.fi/answers/kurssit/tie/ohj1/v/2025/kevat/demot/demo6?answerNumber=1&task=TeeTaulukko&user=leosaksa
// TODO: Taulukko, silmukka ja funktio, Suvi, ks: https://tim.jyu.fi/answers/kurssit/tie/ohj1/v/2025/kevat/demot/demo6?answerNumber=2&task=TeeTaulukko&user=suvleean
/// @author suvitoivanen, leosaksa /// @author suvitoivanen, leosaksa
/// @version 02.04.2025 /// @version 02.04.2025
/// <summary> /// <summary>
/// Eeppinen tasohyppely peli, jossa pelaajan tehtävä on kerätä kaikki /// Eeppinen tasohyppely peli, jossa pelaajan tehtävä on kerätä kaikki
/// kartalta löytyvät megaporkkanat (13kpl) /// kartalta löytyvät megaporkkanat
/// </summary> /// </summary>
public class PomppuPossu : PhysicsGame public class PomppuPossu : PhysicsGame
{ {
private const double NOPEUS = 200; private const double Nopeus = 200;
private const double HYPPYNOPEUS = 750; private const double Hyppynopeus = 750;
private const int RUUDUN_KOKO = 60; private const int RuudunKoko = 60;
private PlatformCharacter pomppuPossu; private PlatformCharacter _pomppuPossu;
private Image _pomppuPossunKuva = LoadImage("pomppupossu.png"); private Image _pomppuPossunKuva = LoadImage("pomppupossu.png");
private Image _porkkanaKuva = LoadImage("porkkananKuva3.png"); private Image _porkkanaKuva = LoadImage("porkkananKuva3.png");
private SoundEffect _pisteAani = LoadSoundEffect("maali.wav"); private SoundEffect _pisteAani = LoadSoundEffect("maali.wav");
private IntMeter pelaajanPisteet; private IntMeter _pelaajanPisteet;
/// <summary> /// <summary>
...@@ -37,16 +36,16 @@ public class PomppuPossu : PhysicsGame ...@@ -37,16 +36,16 @@ public class PomppuPossu : PhysicsGame
LuoKentta(); LuoKentta();
LisaaLaskuri(); LisaaLaskuri();
Camera.Follow(pomppuPossu); Camera.Follow(_pomppuPossu);
Camera.ZoomFactor = 1.2; Camera.ZoomFactor = 1.2;
Camera.StayInLevel = true; Camera.StayInLevel = true;
MasterVolume = 0.5; MasterVolume = 0.5;
Level.CreateBorders(); Level.CreateBorders();
Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pomppuPossu, HYPPYNOPEUS); Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", _pomppuPossu, Hyppynopeus);
Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikuttaa pelaajaa vasemmalle", pomppuPossu, -NOPEUS); Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikuttaa pelaajaa vasemmalle", _pomppuPossu, -Nopeus);
Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikuttaa pelaajaa oikealle", pomppuPossu, NOPEUS); Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikuttaa pelaajaa oikealle", _pomppuPossu, Nopeus);
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
} }
...@@ -62,7 +61,7 @@ public class PomppuPossu : PhysicsGame ...@@ -62,7 +61,7 @@ public class PomppuPossu : PhysicsGame
kentta.SetTileMethod('#', LisaaTaso); kentta.SetTileMethod('#', LisaaTaso);
kentta.SetTileMethod('N', LisaaPelaaja); kentta.SetTileMethod('N', LisaaPelaaja);
kentta.SetTileMethod('*', LisaaPorkkana); kentta.SetTileMethod('*', LisaaPorkkana);
kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); kentta.Execute(RuudunKoko, RuudunKoko);
Level.Background.CreateGradient(Color.White, Color.SkyBlue); Level.Background.CreateGradient(Color.White, Color.SkyBlue);
} }
...@@ -107,12 +106,12 @@ public class PomppuPossu : PhysicsGame ...@@ -107,12 +106,12 @@ public class PomppuPossu : PhysicsGame
/// <param name="korkeus">korkeus</param> /// <param name="korkeus">korkeus</param>
private void LisaaPelaaja(Vector paikka, double leveys, double korkeus) private void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
{ {
pomppuPossu = new PlatformCharacter(80, 100); _pomppuPossu = new PlatformCharacter(80, 100);
pomppuPossu.Position = paikka; _pomppuPossu.Position = paikka;
pomppuPossu.Mass = 4.0; _pomppuPossu.Mass = 4.0;
pomppuPossu.Image = _pomppuPossunKuva; _pomppuPossu.Image = _pomppuPossunKuva;
AddCollisionHandler<PhysicsObject, Megaporkkanat>(pomppuPossu, TormattiinEsineeseen); AddCollisionHandler<PhysicsObject, Megaporkkanat>(_pomppuPossu, TormattiinEsineeseen);
Add(pomppuPossu); Add(_pomppuPossu);
} }
...@@ -151,7 +150,7 @@ public class PomppuPossu : PhysicsGame ...@@ -151,7 +150,7 @@ public class PomppuPossu : PhysicsGame
kohde.OtaVastaanOsuma(); kohde.OtaVastaanOsuma();
_pisteAani.Play(); _pisteAani.Play();
MessageDisplay.Add("Megaporkkana kerätty!"); MessageDisplay.Add("Megaporkkana kerätty!");
pelaajanPisteet.Value += 1; _pelaajanPisteet.Value += 1;
} }
...@@ -196,7 +195,7 @@ public class PomppuPossu : PhysicsGame ...@@ -196,7 +195,7 @@ public class PomppuPossu : PhysicsGame
/// </summary> /// </summary>
void LisaaLaskuri() void LisaaLaskuri()
{ {
pelaajanPisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); _pelaajanPisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment