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

yes

parent bae7f6f2
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="UserContentModel"> <component name="UserContentModel">
<attachedFolders /> <attachedFolders>
<Path>../../../platformerpeli-main</Path>
</attachedFolders>
<explicitIncludes /> <explicitIncludes />
<explicitExcludes /> <explicitExcludes />
</component> </component>
......
...@@ -4,12 +4,12 @@ ...@@ -4,12 +4,12 @@
############## ##############
###### ###### ###### ######
......
No preview for this file type
No preview for this file type
No preview for this file type
...@@ -9,20 +9,25 @@ namespace platformerPeli; ...@@ -9,20 +9,25 @@ namespace platformerPeli;
/// <summary> /// <summary>
/// Platformer PVP Peli /// Platformer PVP Peli
/// </summary> /// </summary>
public class platformerPeli : PhysicsGame public class platformerPeli : PhysicsGame
{ {
private const int RuudunKoko = 40; private const int RuudunKoko = 40; // Kentän ruudun koko
private const double nopeus = 200; private const double nopeus = 200; //liikkumisnopeutta
private const double hyppyNopeus = 650; private const double hyppyNopeus = 650; //hyppyvoimaa
private PlatformCharacter pelaaja; private PlatformCharacter pelaaja; //pelaaja 1
private PlatformCharacter pelaaja2; private PlatformCharacter pelaaja2; //pelaaja 2
private Image pelaajankuva = LoadImage("alpha000.png"); private Image pelaajankuva = LoadImage("alpha000.png"); //lataa tyhjänkuvan minkä heti jälkeen vaihtaa animaation kanssa
private Image background = LoadImage("Illustration27.png"); private Image background = LoadImage("Illustration27.png"); //taustakuva
private Image[] idleanimaatio = LoadImages("stand000", "stand001", "stand003", "stand004", "stand005", "stand006", "stand007", "stand008", "stand009", "stand010", "stand011", "stand012", "stand013", "stand014", "stand015"); private Image[] idleanimaatio = LoadImages("stand000", "stand001", "stand003", "stand004", "stand005", "stand006", "stand007", "stand008", "stand009", "stand010", "stand011", "stand012", "stand013", "stand014", "stand015");
private Image[] kavelyanimaatio = LoadImages("dashFront000", "dashFront001", "dashFront002", "dashFront003", "dashFront004", "dashFront005", "dashFront006"); private Image[] kavelyanimaatio = LoadImages("dashFront000", "dashFront001", "dashFront002", "dashFront003", "dashFront004", "dashFront005", "dashFront006");
private Image[] hyppyanimaatio = LoadImages("jump000", "jump001", "jump003", "jump004", "jump005", "jump006", "jump007", "jump008"); private Image[] hyppyanimaatio = LoadImages("jump000", "jump001", "jump003", "jump004", "jump005", "jump006", "jump007", "jump008"); //nämä kolme on animaatiot mitä käytetää
private double jumpcount = 0; private double jumpcount = 0; //lasketaan hyppy counteri
/// <summary>
/// kutsuu aliohjelmat joka pyörittää sitten pelin
///</summary>
public override void Begin() public override void Begin()
{ {
Gravity = new Vector(0, -1000); Gravity = new Vector(0, -1000);
...@@ -38,7 +43,11 @@ public class platformerPeli : PhysicsGame ...@@ -38,7 +43,11 @@ public class platformerPeli : PhysicsGame
LisaaAseet(); LisaaAseet();
} }
/// <summary>
/// Luo kentän teksti tiedoston symbolejen avulla
/// </summary>
private void LuoKentta() private void LuoKentta()
{ {
TileMap kentta = TileMap.FromLevelAsset("kentta1.txt"); TileMap kentta = TileMap.FromLevelAsset("kentta1.txt");
...@@ -48,7 +57,14 @@ public class platformerPeli : PhysicsGame ...@@ -48,7 +57,14 @@ public class platformerPeli : PhysicsGame
kentta.Execute(RuudunKoko, RuudunKoko); kentta.Execute(RuudunKoko, RuudunKoko);
Camera.ZoomToLevel(); Camera.ZoomToLevel();
} }
/// <summary>
/// Luo tason
/// </summary>
/// <param name="paikka">tason paikka</param>
/// <param name="leveys">tason leveys</param>
/// <param name="korkeus">tason korkeus</param>
private void LuoTaso(Vector paikka, double leveys, double korkeus) private void LuoTaso(Vector paikka, double leveys, double korkeus)
{ {
PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
...@@ -58,6 +74,13 @@ public class platformerPeli : PhysicsGame ...@@ -58,6 +74,13 @@ public class platformerPeli : PhysicsGame
Add(taso); Add(taso);
} }
/// <summary>
/// Luo kaksi pelaaja (on mahdollista luoda enemmän)
/// </summary>
/// <param name="paikka">Pelaajan paikka</param>
/// <param name="leveys">Pelaajan leveys</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);
...@@ -69,13 +92,23 @@ public class platformerPeli : PhysicsGame ...@@ -69,13 +92,23 @@ public class platformerPeli : PhysicsGame
pelaaja.AnimIdle.Start(); pelaaja.AnimIdle.Start();
Add(pelaaja); Add(pelaaja);
} }
/// <summary>
/// Lisää aseet pelaajoille
/// </summary>
private void LisaaAseet() private void LisaaAseet()
{ {
LisaaAse(pelaaja); LisaaAse(pelaaja);
LisaaAse(pelaaja2); LisaaAse(pelaaja2);
} }
/// <summary>
/// Luodaan itse ase ja sen ominaisuus
/// </summary>
/// <param name="pelaaja.Weapon">Pelaajan ase</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)
...@@ -89,12 +122,21 @@ public class platformerPeli : PhysicsGame ...@@ -89,12 +122,21 @@ public class platformerPeli : PhysicsGame
}; };
} }
} }
/// <summary>
/// Lisätään musiikkia ja pistetään loopille
/// </summary>
private void LisaaMusiikki() private void LisaaMusiikki()
{ {
MediaPlayer.Play("Twin_Crystal.wav"); MediaPlayer.Play("Twin_Crystal.wav");
MediaPlayer.IsRepeating = true; MediaPlayer.IsRepeating = true;
} }
/// <summary>
/// näppäimet
/// </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, hyppyNopeus), "Pelaaja 1: Hyppää");
...@@ -110,26 +152,39 @@ public class platformerPeli : PhysicsGame ...@@ -110,26 +152,39 @@ public class platformerPeli : PhysicsGame
PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
} }
/// <summary>
/// hahmo liikkuu
/// </summary>
private void Liikuta(PlatformCharacter pelaaja, double nopeus) private void Liikuta(PlatformCharacter pelaaja, double nopeus)
{ {
pelaaja.Walk(nopeus); pelaaja.Walk(nopeus);
} }
/// <summary>
/// suorittaa hypyn tässä
/// </summary>
private void Hyppaa(PlatformCharacter pelaaja, double hyppyNopeus) private void Hyppaa(PlatformCharacter pelaaja, double hyppyNopeus)
{ {
if (pelaaja != null && (PelaajaOnMaassa(pelaaja) || jumpcount < 2)) if (pelaaja != null && (PelaajaOnMaassa(pelaaja) || jumpcount < 2)) //kattoo onko maassa tai hyppiny liian vähän
{ {
if (jumpcount == 1) if (jumpcount == 1)
{ {
pelaaja.Velocity = new Vector(pelaaja.Velocity.X, hyppyNopeus); pelaaja.Velocity = new Vector(pelaaja.Velocity.X, hyppyNopeus); //jottei hypyn vauhti muuttuisi gravityn takia
} }
pelaaja.Jump(hyppyNopeus); pelaaja.Jump(hyppyNopeus);
jumpcount++; jumpcount++; //lasketaan hyppyjä
pelaaja.LoopJumpAnim = true; pelaaja.LoopJumpAnim = true; //pyöritään animaatio ilmassa
} }
} }
/// <summary>
/// Ollaanko varmasti maassa
/// </summary>
/// <returns> ollaanko iha varmasti maassa </returns>
private bool PelaajaOnMaassa(PlatformCharacter pelaaja) private bool PelaajaOnMaassa(PlatformCharacter pelaaja)
{ {
foreach (var obj in GetAllObjects()) foreach (var obj in GetAllObjects())
...@@ -141,28 +196,36 @@ public class platformerPeli : PhysicsGame ...@@ -141,28 +196,36 @@ public class platformerPeli : PhysicsGame
pelaaja.Bottom >= physicsObj.Top - 5) pelaaja.Bottom >= physicsObj.Top - 5)
{ {
jumpcount = 0; jumpcount = 0;
return true; return true; //jos ollaan maassa
} }
} }
} }
return false; return false;
} }
/// <summary>
/// ammutaan aseella
/// </summary>
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)
{ {
ammus.Size *= 3; ammus.Size *= 3;
ammus.Image = LoadImage("ThrowingKnife.png"); ammus.Image = LoadImage("ThrowingKnife.png"); //ammos on puukko
ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);
} }
} }
} }
/// <summary>
/// katsotaan kumpi voittaa ja kumpi tuhoutuu
/// </summary>
private void AmmusOsui(PhysicsObject ammus, PhysicsObject target) private void AmmusOsui(PhysicsObject ammus, PhysicsObject target)
{ {
if (target == pelaaja2) if (target == pelaaja2)
...@@ -177,6 +240,10 @@ public class platformerPeli : PhysicsGame ...@@ -177,6 +240,10 @@ public class platformerPeli : PhysicsGame
} }
} }
/// <summary>
/// PeliLopun jälkeen valinta ikkuna
/// </summary>
private void ShowEndMenu(string message) private void ShowEndMenu(string message)
{ {
ClearControls(); ClearControls();
...@@ -195,15 +262,25 @@ public class platformerPeli : PhysicsGame ...@@ -195,15 +262,25 @@ public class platformerPeli : PhysicsGame
exitButton.Clicked += ExitGame; exitButton.Clicked += ExitGame;
Add(exitButton); Add(exitButton);
} }
/// <summary>
/// alottaa alusta
/// </summary>
private void RestartGame() private void RestartGame()
{ {
ClearAll(); ClearAll();
Begin(); Begin();
} }
/// <summary>
/// Lopettaa pelin
/// </summary>
private void ExitGame() private void ExitGame()
{ {
Exit(); Exit();
} }
} }
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