diff --git a/Eskape/.vs/Eskape/DesignTimeBuild/.dtbcache.v2 b/Eskape/.vs/Eskape/DesignTimeBuild/.dtbcache.v2 index 7213d370349d2e4b43d4a30e32c551ebf4c62646..14cc012290f3fbe97abb4d14f8c565bce319de85 100644 Binary files a/Eskape/.vs/Eskape/DesignTimeBuild/.dtbcache.v2 and b/Eskape/.vs/Eskape/DesignTimeBuild/.dtbcache.v2 differ diff --git a/Eskape/.vs/Eskape/v16/.suo b/Eskape/.vs/Eskape/v16/.suo index ebd0a14ebaa806605da1bfd55697a486cf165cbd..e6cec395b5bf69d482b52df93cbdbec811745e0a 100644 Binary files a/Eskape/.vs/Eskape/v16/.suo and b/Eskape/.vs/Eskape/v16/.suo differ diff --git a/Eskape/Eskape/Content/kentta1.txt b/Eskape/Eskape/Content/kentta1.txt index a0fc254d97352439f9942a0d8cc275e9b14bf225..c7169810111e36707c36ff05ec85124e186fd51a 100644 --- a/Eskape/Eskape/Content/kentta1.txt +++ b/Eskape/Eskape/Content/kentta1.txt @@ -15,7 +15,7 @@ XXXX ## H ## # ## - H E F F F # + XX H E F F F # ############################ ## N *^ F**# ## ## #### ## diff --git a/Eskape/Eskape/Content/tahti.png b/Eskape/Eskape/Content/tahti.png deleted file mode 100644 index 12f4398771471bc9a704358049b6d6dd07f9b974..0000000000000000000000000000000000000000 Binary files a/Eskape/Eskape/Content/tahti.png and /dev/null differ diff --git a/Eskape/Eskape/Eskape.cs b/Eskape/Eskape/Eskape.cs index b5f9adae897078f71849254cb3144e76baf9b918..cea0153cd0229a264dfa4ad7db210cbd4b0dfcd0 100644 --- a/Eskape/Eskape/Eskape.cs +++ b/Eskape/Eskape/Eskape.cs @@ -6,35 +6,24 @@ using System; using System.Collections.Generic; /// @author Roy Eskelinen -/// @version 21.12.2021 +/// @version 6.1.2022 /// <summary> /// Eskape tasohyppelypeli. +/// Silmukkatehtävä: https://tim.jyu.fi/view/kurssit/tie/ohj1/2021s/demot/demo5#teht%C3%A4v%C3%A4-4.-rajan-ylitt%C3%A4v%C3%A4t +/// Taulukkotehtävä: https://tim.jyu.fi/view/kurssit/tie/ohj1/2021s/demot/demo10#v2 /// </summary> - -/* class Vihu : PhysicsObject -{ - private IntMeter elamalaskuri = new IntMeter(3, 0, 3); - public IntMeter Elamalaskuri { get { return elamalaskuri; } } - - public Vihu(double leveys, double korkeus) - : base(leveys, korkeus) - { - elamalaskuri.LowerLimit += delegate { this.Destroy(); }; - } -} */ - public class Eskape : PhysicsGame { - private const double NOPEUS = 150; - private const double HYPPYNOPEUS = 900; - private const int RUUDUN_KOKO = 40; + private const double NOPEUS = 150; // hahmon nopeus + private const double HYPPYNOPEUS = 900; // kuinka korkealle hahmo hyppää + private const int RUUDUN_KOKO = 40; // ruudun zoomaus private PlatformCharacter pelaaja; - int healthPoints = 5; - IntMeter pistelaskuri = new IntMeter(0); + private int healthPoints = 5; // hahmon elämät + private IntMeter pistelaskuri = new IntMeter(0); // kuvat private Image pelaajanKuva = LoadImage("PlayerHero1.png"); @@ -59,27 +48,19 @@ public class Eskape : PhysicsGame private SoundEffect coinAani = LoadSoundEffect("pickCoin.wav"); private SoundEffect hpAani = LoadSoundEffect("powerUp.wav"); - + /// <summary> + /// Begin kutsuu aliohjelman AloitaPelin. + /// </summary> public override void Begin() { - Gravity = new Vector(300, -2000); - - LuoKentta(); - LisaaNappaimet(); - LuoPistelaskuri(); - - Camera.Follow(pelaaja); - Camera.ZoomFactor = 2; - Camera.StayInLevel = true; - - MasterVolume = 0.5; + AloitaPeli(); } + /// <summary> - /// Tähän alapuolelle tulee kaikki luo ja lisää -tapahtumat. + /// Kentän sisältö. Perässä olevat nimet viittaavat kutsuttaviin aliohjelmiin. /// </summary> - private void LuoKentta() { TileMap kentta = TileMap.FromLevelAsset("kentta1.txt"); @@ -90,7 +71,7 @@ public class Eskape : PhysicsGame kentta.SetTileMethod('^', LisaaPiste2); kentta.SetTileMethod('N', LisaaPelaaja); kentta.SetTileMethod('E', LisaaVihollinen); - kentta.SetTileMethod('F', LisaaVihollinen2); + kentta.SetTileMethod('F', LisaaVihollinen); kentta.SetTileMethod('B', LisaaLaatikko); kentta.SetTileMethod('S', LisaaPommi); kentta.SetTileMethod('H', LisaaHealthPotion); @@ -100,6 +81,13 @@ public class Eskape : PhysicsGame Level.Background.TileToLevel(); } + + /// <summary> + /// Health Potion. Sen keräämällä hahmo saa yhden elämäpisteen lisää. + /// </summary> + /// <param name="paikka">Potionin paikka. Määritellään kentässä.</param> + /// <param name="leveys">Koko leveyssuunnassa.</param> + /// <param name="korkeus">Koko pituussuunnassa.</param> void LisaaHealthPotion(Vector paikka, double leveys, double korkeus) { PhysicsObject healthPotion = PhysicsObject.CreateStaticObject(leveys, korkeus); @@ -110,15 +98,29 @@ public class Eskape : PhysicsGame Add(healthPotion); } + + /// <summary> + /// Pelin perustaso, jonka päällä kävellään. + /// </summary> + /// <param name="paikka">Tason paikka. Määritellään kentta1.txt:ssä</param> + /// <param name="leveys">Tason leveys.</param> + /// <param name="korkeus">Tason korkeus</param> private void LisaaTaso(Vector paikka, double leveys, double korkeus) { - PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); + PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys + 1, korkeus + 1); taso.Position = paikka; taso.Image = floorPic; taso.Tag = "floor"; Add(taso); } + + /// <summary> + /// Näkymätön taso pelissä. Käyttäytyy samalla tavalla kuin "LisaaTaso"-aliohjelma, mutta on näkymätön. + /// </summary> + /// <param name="paikka">Sijainti kentässä.</param> + /// <param name="leveys">Leveys</param> + /// <param name="korkeus">Korkeus</param> private void LisaaNakymatonTaso(Vector paikka, double leveys, double korkeus) { PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); @@ -128,6 +130,13 @@ public class Eskape : PhysicsGame Add(taso); } + + /// <summary> + /// Pelihahmon tappava taso. Tason päälle tippuessaan peli alkaa välittömästi alusta. + /// </summary> + /// <param name="paikka">Tappavan tason paikka kentässä.</param> + /// <param name="leveys">Tappavan tason leveys.</param> + /// <param name="korkeus">Tappavan tason korkeus.</param> private void LisaaTappavaTaso(Vector paikka, double leveys, double korkeus) { PhysicsObject spikes = PhysicsObject.CreateStaticObject(leveys, korkeus); @@ -137,6 +146,13 @@ public class Eskape : PhysicsGame Add(spikes); } + + /// <summary> + /// Pelissä kerättävä kolikko. Antaa yhden pisteen. + /// </summary> + /// <param name="paikka">Kolikon paikka kentässä.</param> + /// <param name="leveys">Kolikon leveys.</param> + /// <param name="korkeus">Kolikon korkeus.</param> private void LisaaPiste(Vector paikka, double leveys, double korkeus) { PhysicsObject piste = PhysicsObject.CreateStaticObject(leveys, korkeus); @@ -147,6 +163,13 @@ public class Eskape : PhysicsGame Add(piste); } + + /// <summary> + /// Pelissä kerättävä kolikko. Antaa viisi pistettä. + /// </summary> + /// <param name="paikka">Kolikon paikka kentässä.</param> + /// <param name="leveys">Kolikon leveys.</param> + /// <param name="korkeus">Kolikon korkeus.</param> private void LisaaPiste2(Vector paikka, double leveys, double korkeus) { PhysicsObject piste2 = PhysicsObject.CreateStaticObject(leveys, korkeus); @@ -157,34 +180,43 @@ public class Eskape : PhysicsGame Add(piste2); } + + /// <summary> + /// Pelihahmo, jota ohjataan. + /// </summary> + /// <param name="paikka">Aloituspaikka pelissä.</param> + /// <param name="leveys">Hahmon leveys.</param> + /// <param name="korkeus">Hahmon korkeus.</param> public void LisaaPelaaja(Vector paikka, double leveys, double korkeus) { pelaaja = new PlatformCharacter(35, 39); pelaaja.Position = paikka; - // pelaaja.Mass = 1.8; pelaaja.Image = pelaajanKuva; pelaaja.Weapon = new AssaultRifle(0, 0); pelaaja.Weapon.Ammo.Value = 999; pelaaja.Weapon.ProjectileCollision = AmmusOsui; pelaaja.Tag = "pelaaja"; + + // Alla aliohjelmat pelaajan eri reaktioihin kentän kanssa. AddCollisionHandler(pelaaja, "piste", TormaaKolikkoon); AddCollisionHandler(pelaaja, "piste2", TormaaKolikkoon2); AddCollisionHandler(pelaaja, "tappavat", TormaaPommiin); AddCollisionHandler(pelaaja, "health", TormaaHealthPotion); AddCollisionHandler(pelaaja, "spikes", TormaaTappavaanTasoon); - // AddCollisionHandler(pelaaja, "tappavat", CollisionHandler.ExplodeObject(100, true)); Add(pelaaja); } + + /// <summary> + /// Pelissä summittaisesti lentelevä pommi, joka osuessaan pelaajaan satuttaa pelaajaa 1 pisteen verran. + /// </summary> + /// <param name="paikka">Aloituspaikka pommille. Muuttuu välittömästi pelin alkaessa.</param> + /// <param name="leveys">Pommin leveys.</param> + /// <param name="korkeus">Pommin korkeus.</param> private void LisaaPommi(Vector paikka, double leveys, double korkeus) { - /// Pommi toimii satunnaisesti. Tuhoamalla sen saa pisteitä. - /// Pommi satuttaa osuessaan. - /// - - PhysicsObject paakallo = new PhysicsObject(40, 40); - + PhysicsObject paakallo = new PhysicsObject(30, 30); RandomMoverBrain satunnaisaivot = new RandomMoverBrain(150); // tekoäly satunnaisaivot.ChangeMovementSeconds = 5; @@ -192,104 +224,75 @@ public class Eskape : PhysicsGame satunnaisaivot.WanderRadius = 400; paakallo.Position = paikka; - paakallo.Image = skull; paakallo.Tag = "tappavat"; Add(paakallo); } + + /// <summary> + /// Pelihahmoon lisättävä vihollinen, joka ampuu pelaajaa. Tuhotessaan pelaaja saa vihollisesta 10 pistettä. + /// </summary> + /// <param name="paikka">Vihollisen paikka.</param> + /// <param name="leveys">Vihollisen leveys.</param> + /// <param name="korkeus">Vihollisen korkeus.</param> private void LisaaVihollinen(Vector paikka, double leveys, double korkeus) { - // tähän tulee vihollinen - - PlatformCharacter enemy1 = new PlatformCharacter(40, 40); enemy1.Mass = 8.0; enemy1.Position = paikka; enemy1.Weapon = new AssaultRifle(0, 0); enemy1.Weapon.Ammo.Value = 9999; - enemy1.Image = enemyPic; + enemy1.Image = RandomGen.SelectOne(enemyPic, enemyPic2); enemy1.Tag = "vihu"; enemy1.CanRotate = false; Add(enemy1); - + // Vihollisen tekoäly. PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); tasoAivot.Speed = 100; tasoAivot.JumpSpeed = 200; - tasoAivot.TriesToJump = true; - - FollowerBrain seuraajanAivot = new FollowerBrain("pelaaja"); // tekoäly - - // vihollisen tekoäly - seuraajanAivot.Active = true; - seuraajanAivot.Speed = 0; - seuraajanAivot.DistanceFar = 200; - seuraajanAivot.DistanceClose = 0; - seuraajanAivot.TurnWhileMoving = true; - seuraajanAivot.StopWhenTargetClose = true; - seuraajanAivot.FarBrain = tasoAivot; - - enemy1.Brain = seuraajanAivot; - - seuraajanAivot.TargetClose += delegate { MessageDisplay.Add("Pam"); }; - } - - private void LisaaVihollinen2(Vector paikka, double leveys, double korkeus) - { - // Täysin identtinen aikaisemman vihollisen kanssa. On vain erivärinen. - - ShootingPlatformCharacter enemy2 = new ShootingPlatformCharacter(40, 40); - - enemy2.Mass = 8.0; - enemy2.Position = paikka; - enemy2.Image = enemyPic2; - enemy2.Tag = "vihu"; - enemy2.CanRotate = false; - Add(enemy2); - - RandomMoverBrain satunnaisaivot = new RandomMoverBrain(50); - satunnaisaivot.ChangeMovementSeconds = 5; - enemy2.Brain = satunnaisaivot; - - FollowerBrain seuraajanAivot = new FollowerBrain("pelaaja"); // tekoäly - - // vihollisen tekoäly + tasoAivot.TriesToJump = false; + enemy1.Brain = tasoAivot; - seuraajanAivot.Active = true; - seuraajanAivot.Speed = 50; - seuraajanAivot.DistanceFar = 400; - seuraajanAivot.DistanceClose = 200; - seuraajanAivot.TurnWhileMoving = true; - seuraajanAivot.StopWhenTargetClose = true; - // seuraajanAivot.TargetClose += MitaTapahtuuKunOllaanLahella; - seuraajanAivot.FarBrain = satunnaisaivot; - - enemy2.Brain = seuraajanAivot; + // Alla oleva koodi määrittää vihollisen ampumisen. + Timer.CreateAndStart(RandomGen.NextDouble(0.75, 1.75), delegate + { + Vector d = pelaaja.Position - enemy1.Position; + d.Y = 0; + if (d.Magnitude > 200) + return; + enemy1.Weapon.Angle = d.Angle; + AmmuAseella(enemy1, "vihuluoti"); + }); } - /* private void MitaTapahtuuKunOllaanLahella; - { - AmmuAseella.Play; - } */ + /// <summary> + /// Pistelaskuri. Pistelaskuri reagoi pelihahmon interaktioon kentän kanssa. + /// </summary> private void LuoPistelaskuri() { pistelaskuri = new IntMeter(0); Label pistenaytto = new Label(); - pistenaytto.X = Screen.Left + 100; pistenaytto.Y = Screen.Top - 100; - pistenaytto.TextColor = Color.Yellow; // korjaa värejä + pistenaytto.TextColor = Color.Yellow; pistenaytto.Color = Color.Black; - pistenaytto.BindTo(pistelaskuri); Add(pistenaytto); } + + /// <summary> + /// Peliin lisättävä objekti, joka ei tuhoudu, mutta jota pelihahmolla voidaan liikutella. + /// </summary> + /// <param name="paikka">Laatikon sijainti.</param> + /// <param name="leveys">Laatikon leveys.</param> + /// <param name="korkeus">Laatikon paikka.</param> private void LisaaLaatikko(Vector paikka, double leveys, double korkeus) { PhysicsObject box = new PhysicsObject(leveys, korkeus); @@ -299,20 +302,28 @@ public class Eskape : PhysicsGame Add(box); } + + /// <summary> + /// Pelissä olevat näppäimet. + /// </summary> private void LisaaNappaimet() { Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); - Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja, -NOPEUS); Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja, NOPEUS); Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja, HYPPYNOPEUS); - Keyboard.Listen(Key.RightControl, ButtonState.Down, AmmuAseella, "Ammu", pelaaja); - + Keyboard.Listen(Key.RightControl, ButtonState.Down, AmmuAseella, "Ammu", pelaaja, "pelaajaluoti"); PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); } - private void AmmuAseella(PlatformCharacter pelaaja) + + /// <summary> + /// Aseella ampumisen aliohjelma. + /// </summary> + /// <param name="pelaaja">Pelihahmo.</param> + /// <param name="tunnus">Ase.</param> + private void AmmuAseella(PlatformCharacter pelaaja, string tunnus) { PhysicsObject ammus = pelaaja.Weapon.Shoot(); @@ -323,29 +334,67 @@ public class Eskape : PhysicsGame if (ammus != null) { + ammus.Tag = tunnus; ammus.Size *= 3; ammus.Image = bullet; ammus.MaximumLifetime = TimeSpan.FromSeconds(7.0); } } - void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) + + /// <summary> + /// Aliohjelma määrittää, mitä tapahtuu kun aseella osutaan. + /// </summary> + /// <param name="ammus">Luoti</param> + /// <param name="kohde">Kohde, johon luoti osuu.</param> + private void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) { + if (kohde.Tag.ToString() == "vihu") + { + kohde.Destroy(); + pistelaskuri.AddValue(10); + } + + if (kohde.Tag.ToString() == "pelaaja") + { + // MessageDisplay.Add("Osui"); Tällä testattiin, osuiko peli. + healthPoints--; + } osumaAani.Play(); ammus.Destroy(); } + + /// <summary> + /// Pelihahmon liikuttaminen. + /// </summary> + /// <param name="hahmo">Pelihahmo.</param> + /// <param name="nopeus">Pelihahmon nopeus.</param> private void Liikuta(PlatformCharacter hahmo, double nopeus) { + if (hahmo == null || hahmo.IsDestroyed) + return; hahmo.Walk(nopeus); } + + /// <summary> + /// Pelihahmon hyppääminen. + /// </summary> + /// <param name="hahmo">Pelihahmo</param> + /// <param name="nopeus">Hyppynopeus.</param> private void Hyppaa(PlatformCharacter hahmo, double nopeus) { hyppyAani.Play(); hahmo.Jump(nopeus); } + + /// <summary> + /// Reaktio silloin, kun pelihahmo törmää health potioniin. Pelihahmo saa tällöin +1 elämäpistettä lisää. + /// </summary> + /// <param name="hahmo">Pelihahmo</param> + /// <param name="healthPotion">Health potion</param> private void TormaaHealthPotion(PhysicsObject hahmo, PhysicsObject healthPotion) { healthPoints++; @@ -354,6 +403,12 @@ public class Eskape : PhysicsGame healthPotion.Destroy(); } + + /// <summary> + /// Reaktio, kun pelihahmo osuu 1 pisteen kolikkoon. + /// </summary> + /// <param name="hahmo">Pelihahmo.</param> + /// <param name="kolikko">Kolikko</param> private void TormaaKolikkoon(PhysicsObject hahmo, PhysicsObject kolikko) { pistelaskuri.AddValue(1); @@ -362,31 +417,73 @@ public class Eskape : PhysicsGame // pistelaskuri.Value += 1; } + + /// <summary> + /// Reaktio, kun pelihahmo osuu 5 pisteen kolikkoon. + /// </summary> + /// <param name="hahmo">Pelihahmo.</param> + /// <param name="kolikko">Kolikko</param> private void TormaaKolikkoon2(PhysicsObject hahmo, PhysicsObject kolikko) { coinAani.Play(); kolikko.Destroy(); - pistelaskuri.AddValue (5); + pistelaskuri.AddValue(5); } + + /// <summary> + /// Reaktio, kun pelihahmo osuu pommiin. + /// </summary> + /// <param name="hahmo">Pelihahmo</param> + /// <param name="skull">Pommi</param> private void TormaaPommiin(PhysicsObject hahmo, PhysicsObject skull) { healthPoints--; if (healthPoints <= 0) + { pelaaja.Destroy(); - + Timer.SingleShot(3, AloitaPeli); + } rajahdysAani.Play(); MessageDisplay.Add("HP -1"); skull.Destroy(); } + + /// <summary> + /// Reaktio, kun pelihahmo osuu tappavaan tasoon. + /// </summary> + /// <param name="hahmo">Pelihahmo.</param> + /// <param name="spikes">Tappava taso.</param> private void TormaaTappavaanTasoon(PhysicsObject hahmo, PhysicsObject spikes) { healthPoints = 0; pelaaja.Destroy(); + Timer.SingleShot(3, AloitaPeli); MessageDisplay.Add("Kuolit"); // lisää tuskanhuuto } + + + /// <summary> + /// Aliohjelma, joka aloittaa pelin alusta silloin, kun pelihahmo kuolee. + /// </summary> + private void AloitaPeli() + { + ClearAll(); + + Gravity = new Vector(300, -2000); + + LuoKentta(); + LisaaNappaimet(); + LuoPistelaskuri(); + + Camera.Follow(pelaaja); + Camera.ZoomFactor = 2; + Camera.StayInLevel = true; + + MasterVolume = 0.1; + } } diff --git a/Eskape/Eskape/bin/Debug/net5.0/Content/kentta1.txt b/Eskape/Eskape/bin/Debug/net5.0/Content/kentta1.txt index a0fc254d97352439f9942a0d8cc275e9b14bf225..c7169810111e36707c36ff05ec85124e186fd51a 100644 --- a/Eskape/Eskape/bin/Debug/net5.0/Content/kentta1.txt +++ b/Eskape/Eskape/bin/Debug/net5.0/Content/kentta1.txt @@ -15,7 +15,7 @@ XXXX ## H ## # ## - H E F F F # + XX H E F F F # ############################ ## N *^ F**# ## ## #### ## diff --git a/Eskape/Eskape/bin/Debug/net5.0/Content/tahti.png b/Eskape/Eskape/bin/Debug/net5.0/Content/tahti.png deleted file mode 100644 index 12f4398771471bc9a704358049b6d6dd07f9b974..0000000000000000000000000000000000000000 Binary files a/Eskape/Eskape/bin/Debug/net5.0/Content/tahti.png and /dev/null differ diff --git a/Eskape/Eskape/bin/Debug/net5.0/Eskape.dll b/Eskape/Eskape/bin/Debug/net5.0/Eskape.dll index 4ee65e153c6111d63b5a80fc0cc09311fd5a6185..2d11800715d08e3752ee7c26fc52f0173e6af2ed 100644 Binary files a/Eskape/Eskape/bin/Debug/net5.0/Eskape.dll and b/Eskape/Eskape/bin/Debug/net5.0/Eskape.dll differ diff --git a/Eskape/Eskape/bin/Debug/net5.0/Eskape.pdb b/Eskape/Eskape/bin/Debug/net5.0/Eskape.pdb index a9e851f2c3ddba7aed8c9ed8a8d0eeaa6694ad61..64f8dcc94304431aeb326684ee5e869146ca3573 100644 Binary files a/Eskape/Eskape/bin/Debug/net5.0/Eskape.pdb and b/Eskape/Eskape/bin/Debug/net5.0/Eskape.pdb differ diff --git a/Eskape/Eskape/bin/Debug/net5.0/ref/Eskape.dll b/Eskape/Eskape/bin/Debug/net5.0/ref/Eskape.dll index d3aa7dbd2156ac4488382fc2acf684d0ae46dee4..3158315594f6e78cad28e5813756240d0c624b95 100644 Binary files a/Eskape/Eskape/bin/Debug/net5.0/ref/Eskape.dll and b/Eskape/Eskape/bin/Debug/net5.0/ref/Eskape.dll differ diff --git a/Eskape/Eskape/obj/Debug/net5.0/Eskape.csproj.FileListAbsolute.txt b/Eskape/Eskape/obj/Debug/net5.0/Eskape.csproj.FileListAbsolute.txt index 1177e62f88b60922e82f6c49d328820a86a307c4..ed39cf16676315b5b8f99368e3c97e33ac98d9b0 100644 --- a/Eskape/Eskape/obj/Debug/net5.0/Eskape.csproj.FileListAbsolute.txt +++ b/Eskape/Eskape/obj/Debug/net5.0/Eskape.csproj.FileListAbsolute.txt @@ -1,7 +1,6 @@ C:\Users\royes\ohj1\Peli\Eskape\Eskape\bin\Debug\net5.0\Eskape.exe C:\Users\royes\ohj1\Peli\Eskape\Eskape\bin\Debug\net5.0\Content\kentta1.txt C:\Users\royes\ohj1\Peli\Eskape\Eskape\bin\Debug\net5.0\Content\maali.wav -C:\Users\royes\ohj1\Peli\Eskape\Eskape\bin\Debug\net5.0\Content\tahti.png C:\Users\royes\ohj1\Peli\Eskape\Eskape\bin\Debug\net5.0\Eskape.deps.json C:\Users\royes\ohj1\Peli\Eskape\Eskape\bin\Debug\net5.0\Eskape.runtimeconfig.json C:\Users\royes\ohj1\Peli\Eskape\Eskape\bin\Debug\net5.0\Eskape.runtimeconfig.dev.json diff --git a/Eskape/Eskape/obj/Debug/net5.0/Eskape.dll b/Eskape/Eskape/obj/Debug/net5.0/Eskape.dll index 4ee65e153c6111d63b5a80fc0cc09311fd5a6185..2d11800715d08e3752ee7c26fc52f0173e6af2ed 100644 Binary files a/Eskape/Eskape/obj/Debug/net5.0/Eskape.dll and b/Eskape/Eskape/obj/Debug/net5.0/Eskape.dll differ diff --git a/Eskape/Eskape/obj/Debug/net5.0/Eskape.pdb b/Eskape/Eskape/obj/Debug/net5.0/Eskape.pdb index a9e851f2c3ddba7aed8c9ed8a8d0eeaa6694ad61..64f8dcc94304431aeb326684ee5e869146ca3573 100644 Binary files a/Eskape/Eskape/obj/Debug/net5.0/Eskape.pdb and b/Eskape/Eskape/obj/Debug/net5.0/Eskape.pdb differ diff --git a/Eskape/Eskape/obj/Debug/net5.0/ref/Eskape.dll b/Eskape/Eskape/obj/Debug/net5.0/ref/Eskape.dll index d3aa7dbd2156ac4488382fc2acf684d0ae46dee4..3158315594f6e78cad28e5813756240d0c624b95 100644 Binary files a/Eskape/Eskape/obj/Debug/net5.0/ref/Eskape.dll and b/Eskape/Eskape/obj/Debug/net5.0/ref/Eskape.dll differ diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..01252d538652fbb187b9b32f5d4436c9f5b33b58 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# Pohja Ohjelmointi 1 -kurssin harjoitustöiden GIT-repoille. + +Tämä on pohja Ohjelmointi 1 -kurssin harjoitustöiden Git-repoille. +Opiskelija forkkaa tämän repon omaa harjoitustyötään varten. +`fork`-toiminto löytyy sivun yläreunasta. + +Muokkaa gitlab.jyu.fi-palvelussa oman projektisi asetuksia, kuten projektin nimeä +ja projektin kuvausta kohdasta Settings. + +Lue Git-versiohallinnan tarkemmat käyttöohjeet TIMistä: <https://tim.jyu.fi/view/kurssit/tie/ohj1/harjoitustyo/git> + diff --git a/Suunnitelma/README.md b/Suunnitelma/README.md new file mode 100644 index 0000000000000000000000000000000000000000..ab9998f3ea203460018cf7cbd8b9cab9d57e4167 --- /dev/null +++ b/Suunnitelma/README.md @@ -0,0 +1 @@ +# Pohja Ohjelmointi 1 -kurssin harjoitustöiden GIT-repoille. diff --git a/gitignore b/gitignore new file mode 100644 index 0000000000000000000000000000000000000000..dfcfd56f444f9ae40e1082c07fe254cc547136cf --- /dev/null +++ b/gitignore @@ -0,0 +1,350 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/